home *** CD-ROM | disk | FTP | other *** search
/ Gigarom 4 / Mac Giga-ROM 4.0 - 1993.toast / FILES / COM / Q-Z / Terminal 2.2.sit / Terminal 2.2 / Project / Sources / File.c < prev    next >
MacBinary  |  1992-01-17  |  19.3 KB  |  [TEXT/KAHL]

open in: MacOS 8.1     |     Win98     |     DOS

browse contents    |     view JSON data     |     view as text


This file was processed as: MacBinary (archive/macBinary).

ConfidenceProgramDetectionMatch TypeSupport
66% dexvert Compact Compressed (Unix) (archive/compact) ext Supported
10% dexvert MacBinary (archive/macBinary) fallback Supported
10% dexvert Jesper Olsen Module (music/jesperOlsen) magic Supported
1% dexvert Text File (text/txt) fallback Supported
100% file MacBinary II, Fri Jan 17 12:00:00 1992, modified Fri Jan 17 12:00:00 1992, creator Think C, type ASCII, 18749 bytes "File.c" , at 0x49bd 688 bytes resource default (weak)
99% file data default
49% TrID Macintosh plain text (MacBinary) default
33% TrID TTComp archive compressed (bin-4K) default (weak)
16% TrID MacBinary 2 default (weak)
100% siegfried fmt/1762 MacBinary (II) default
100% lsar MacBinary default


id metadata
keyvalue
macFileType[TEXT]
macFileCreator[KAHL]



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 00 06 46 69 6c 65 2e 63 | 00 00 00 00 00 00 00 00 |..File.c|........|
|00000010| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000020| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000030| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000040| 00 54 45 58 54 4b 41 48 | 4c 00 00 00 00 00 00 00 |.TEXTKAH|L.......|
|00000050| 00 00 00 00 00 49 3d 00 | 00 02 b0 a5 9c bc 10 a5 |.....I=.|........|
|00000060| 9c bc 10 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000070| 00 00 00 00 00 00 00 00 | 00 00 81 81 67 fb 00 00 |........|....g...|
|00000080| 2f 2a 0d 09 54 65 72 6d | 69 6e 61 6c 20 32 2e 32 |/*..Term|inal 2.2|
|00000090| 0d 09 22 46 69 6c 65 2e | 63 22 0d 2a 2f 0d 0d 23 |.."File.|c".*/..#|
|000000a0| 69 66 64 65 66 20 54 48 | 49 4e 4b 5f 43 0d 23 69 |ifdef TH|INK_C.#i|
|000000b0| 6e 63 6c 75 64 65 20 22 | 4d 61 63 48 65 61 64 65 |nclude "|MacHeade|
|000000c0| 72 73 22 0d 23 65 6e 64 | 69 66 0d 23 69 66 64 65 |rs".#end|if.#ifde|
|000000d0| 66 20 61 70 70 6c 65 63 | 0d 23 70 72 61 67 6d 61 |f applec|.#pragma|
|000000e0| 20 6c 6f 61 64 20 22 3a | 28 4f 62 6a 65 63 74 73 | load ":|(Objects|
|000000f0| 29 3a 4d 61 63 48 65 61 | 64 65 72 73 4d 50 57 22 |):MacHea|dersMPW"|
|00000100| 0d 23 70 72 61 67 6d 61 | 20 73 65 67 6d 65 6e 74 |.#pragma| segment|
|00000110| 20 4d 61 69 6e 32 0d 23 | 65 6e 64 69 66 0d 0d 23 | Main2.#|endif..#|
|00000120| 69 6e 63 6c 75 64 65 20 | 22 46 69 6c 65 2e 68 22 |include |"File.h"|
|00000130| 0d 23 69 6e 63 6c 75 64 | 65 20 22 54 65 78 74 2e |.#includ|e "Text.|
|00000140| 68 22 0d 23 69 6e 63 6c | 75 64 65 20 22 4d 61 69 |h".#incl|ude "Mai|
|00000150| 6e 2e 68 22 0d 23 69 6e | 63 6c 75 64 65 20 22 53 |n.h".#in|clude "S|
|00000160| 74 72 69 6e 67 73 2e 68 | 22 0d 23 69 6e 63 6c 75 |trings.h|".#inclu|
|00000170| 64 65 20 22 55 74 69 6c | 69 74 69 65 73 2e 68 22 |de "Util|ities.h"|
|00000180| 0d 23 69 6e 63 6c 75 64 | 65 20 22 4d 79 53 46 2e |.#includ|e "MySF.|
|00000190| 68 22 0d 23 69 6e 63 6c | 75 64 65 20 22 44 6f 63 |h".#incl|ude "Doc|
|000001a0| 75 6d 65 6e 74 2e 68 22 | 0d 23 69 6e 63 6c 75 64 |ument.h"|.#includ|
|000001b0| 65 20 22 50 6f 72 74 2e | 68 22 0d 23 69 6e 63 6c |e "Port.|h".#incl|
|000001c0| 75 64 65 20 22 43 61 6e | 63 65 6c 44 69 61 6c 6f |ude "Can|celDialo|
|000001d0| 67 2e 68 22 0d 23 69 6e | 63 6c 75 64 65 20 22 58 |g.h".#in|clude "X|
|000001e0| 4d 6f 64 65 6d 2e 68 22 | 0d 23 69 6e 63 6c 75 64 |Modem.h"|.#includ|
|000001f0| 65 20 22 5a 4d 6f 64 65 | 6d 2e 68 22 0d 23 69 6e |e "ZMode|m.h".#in|
|00000200| 63 6c 75 64 65 20 22 4d | 61 63 42 69 6e 61 72 79 |clude "M|acBinary|
|00000210| 2e 68 22 0d 23 69 6e 63 | 6c 75 64 65 20 22 46 6f |.h".#inc|lude "Fo|
|00000220| 72 6d 61 74 53 74 72 2e | 68 22 0d 23 69 6e 63 6c |rmatStr.|h".#incl|
|00000230| 75 64 65 20 22 49 6e 74 | 65 72 70 2e 68 22 0d 0d |ude "Int|erp.h"..|
|00000240| 2f 2a 20 2d 2d 2d 2d 2d | 20 53 74 61 74 69 63 20 |/* -----| Static |
|00000250| 64 61 74 61 20 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |data ---|--------|
|00000260| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000270| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000280| 2d 2d 2d 2d 2d 2d 2d 2d | 20 2a 2f 0d 0d 73 74 61 |--------| */..sta|
|00000290| 74 69 63 20 6a 6d 70 5f | 62 75 66 20 65 6e 76 3b |tic jmp_|buf env;|
|000002a0| 0d 73 74 61 74 69 63 20 | 73 68 6f 72 74 20 53 63 |.static |short Sc|
|000002b0| 72 69 70 74 52 65 66 3b | 09 09 09 2f 2a 20 53 63 |riptRef;|.../* Sc|
|000002c0| 72 69 70 74 20 66 69 6c | 65 20 72 65 66 65 72 65 |ript fil|e refere|
|000002d0| 6e 63 65 20 2a 2f 0d 73 | 74 61 74 69 63 20 73 68 |nce */.s|tatic sh|
|000002e0| 6f 72 74 20 53 63 72 69 | 70 74 55 6e 67 65 74 3b |ort Scri|ptUnget;|
|000002f0| 09 09 2f 2a 20 53 63 72 | 69 70 74 20 66 69 6c 65 |../* Scr|ipt file|
|00000300| 20 75 6e 67 65 74 20 62 | 75 66 66 65 72 20 2a 2f | unget b|uffer */|
|00000310| 0d 73 74 61 74 69 63 20 | 42 79 74 65 20 2a 53 63 |.static |Byte *Sc|
|00000320| 72 69 70 74 42 75 66 66 | 65 72 3b 09 09 2f 2a 20 |riptBuff|er;../* |
|00000330| 53 63 72 69 70 74 20 66 | 69 6c 65 20 62 75 66 66 |Script f|ile buff|
|00000340| 65 72 20 2a 2f 0d 73 74 | 61 74 69 63 20 6c 6f 6e |er */.st|atic lon|
|00000350| 67 20 53 63 72 69 70 74 | 45 6f 62 3b 09 09 09 2f |g Script|Eob;.../|
|00000360| 2a 20 53 69 7a 65 20 6f | 66 20 73 63 72 69 70 74 |* Size o|f script|
|00000370| 20 66 69 6c 65 20 62 75 | 66 66 65 72 20 2a 2f 0d | file bu|ffer */.|
|00000380| 73 74 61 74 69 63 20 6c | 6f 6e 67 20 53 63 72 69 |static l|ong Scri|
|00000390| 70 74 4d 61 72 6b 3b 09 | 09 09 2f 2a 20 4e 65 78 |ptMark;.|../* Nex|
|000003a0| 74 20 70 6f 73 69 74 69 | 6f 6e 20 69 6e 20 73 63 |t positi|on in sc|
|000003b0| 72 69 70 74 20 66 69 6c | 65 20 62 75 66 66 65 72 |ript fil|e buffer|
|000003c0| 20 2a 2f 0d 65 78 74 65 | 72 6e 20 49 4e 54 52 49 | */.exte|rn INTRI|
|000003d0| 4e 53 49 43 20 49 6e 74 | 72 69 6e 73 69 63 73 5b |NSIC Int|rinsics[|
|000003e0| 5d 3b 09 2f 2a 20 53 63 | 72 69 70 74 20 69 6e 74 |];./* Sc|ript int|
|000003f0| 72 69 6e 73 69 63 20 66 | 75 6e 63 74 69 6f 6e 73 |rinsic f|unctions|
|00000400| 20 2a 2f 0d 0d 2f 2a 20 | 2d 2d 2d 2d 2d 20 54 65 | */../* |----- Te|
|00000410| 78 74 20 63 61 70 74 75 | 72 65 20 2d 2d 2d 2d 2d |xt captu|re -----|
|00000420| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000430| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000440| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 20 2a 2f |--------|----- */|
|00000450| 0d 0d 76 6f 69 64 20 54 | 65 78 74 43 61 70 74 75 |..void T|extCaptu|
|00000460| 72 65 28 73 68 6f 72 74 | 20 6f 70 74 69 6f 6e 73 |re(short| options|
|00000470| 29 0d 7b 0d 09 72 65 67 | 69 73 74 65 72 20 44 6f |).{..reg|ister Do|
|00000480| 63 75 6d 65 6e 74 50 65 | 65 6b 20 77 69 6e 64 6f |cumentPe|ek windo|
|00000490| 77 20 3d 20 54 65 72 6d | 69 6e 61 6c 57 69 6e 64 |w = Term|inalWind|
|000004a0| 6f 77 3b 0d 09 53 46 52 | 65 70 6c 79 20 73 66 72 |ow;..SFR|eply sfr|
|000004b0| 3b 0d 09 73 68 6f 72 74 | 20 72 3b 0d 0d 09 2f 2a |;..short| r;.../*|
|000004c0| 20 49 66 20 63 61 70 74 | 75 72 65 20 69 73 20 6f | If capt|ure is o|
|000004d0| 6e 20 74 68 65 20 6f 66 | 66 20 2a 2f 0d 0d 09 69 |n the of|f */...i|
|000004e0| 66 20 28 77 69 6e 64 6f | 77 2d 3e 66 69 6c 65 29 |f (windo|w->file)|
|000004f0| 20 7b 0d 09 09 69 66 20 | 28 77 69 6e 64 6f 77 2d | {...if |(window-|
|00000500| 3e 6c 65 6e 67 74 68 29 | 20 7b 0d 09 09 09 69 66 |>length)| {....if|
|00000510| 20 28 46 53 57 72 69 74 | 65 28 77 69 6e 64 6f 77 | (FSWrit|e(window|
|00000520| 2d 3e 66 69 6c 65 2c 20 | 26 77 69 6e 64 6f 77 2d |->file, |&window-|
|00000530| 3e 6c 65 6e 67 74 68 2c | 20 77 69 6e 64 6f 77 2d |>length,| window-|
|00000540| 3e 72 65 63 6f 72 64 29 | 29 0d 09 09 09 09 53 79 |>record)|).....Sy|
|00000550| 73 42 65 65 70 28 31 29 | 3b 0d 09 09 7d 0d 09 09 |sBeep(1)|;...}...|
|00000560| 46 53 43 6c 6f 73 65 28 | 77 69 6e 64 6f 77 2d 3e |FSClose(|window->|
|00000570| 66 69 6c 65 29 3b 0d 09 | 09 46 6c 75 73 68 56 6f |file);..|.FlushVo|
|00000580| 6c 28 30 2c 20 77 69 6e | 64 6f 77 2d 3e 76 6f 6c |l(0, win|dow->vol|
|00000590| 75 6d 65 29 3b 0d 09 09 | 77 69 6e 64 6f 77 2d 3e |ume);...|window->|
|000005a0| 66 69 6c 65 20 3d 20 77 | 69 6e 64 6f 77 2d 3e 76 |file = w|indow->v|
|000005b0| 6f 6c 75 6d 65 20 3d 20 | 30 3b 0d 09 09 77 69 6e |olume = |0;...win|
|000005c0| 64 6f 77 2d 3e 6c 65 6e | 67 74 68 20 3d 20 30 3b |dow->len|gth = 0;|
|000005d0| 0d 09 09 53 65 74 49 74 | 65 6d 53 74 79 6c 65 28 |...SetIt|emStyle(|
|000005e0| 47 65 74 4d 65 6e 75 28 | 46 49 4c 45 29 2c 20 43 |GetMenu(|FILE), C|
|000005f0| 41 50 54 55 52 45 2c 20 | 30 29 3b 0d 09 09 72 65 |APTURE, |0);...re|
|00000600| 74 75 72 6e 3b 0d 09 7d | 0d 0d 09 2f 2a 20 49 66 |turn;..}|.../* If|
|00000610| 20 63 61 70 74 75 72 65 | 20 69 73 20 6f 66 66 20 | capture| is off |
|00000620| 74 68 65 6e 20 6f 6e 20 | 2a 2f 0d 0d 09 69 66 20 |then on |*/...if |
|00000630| 28 6f 70 74 69 6f 6e 73 | 20 26 20 28 6f 70 74 69 |(options| & (opti|
|00000640| 6f 6e 4b 65 79 20 7c 20 | 63 6d 64 4b 65 79 20 7c |onKey | |cmdKey ||
|00000650| 20 73 68 69 66 74 4b 65 | 79 20 7c 20 63 6f 6e 74 | shiftKe|y | cont|
|00000660| 72 6f 6c 4b 65 79 29 29 | 20 7b 0d 09 09 2f 2a 20 |rolKey))| {.../* |
|00000670| 41 70 70 65 6e 64 20 74 | 6f 20 65 78 69 73 74 69 |Append t|o existi|
|00000680| 6e 67 20 66 69 6c 65 20 | 2a 2f 0d 09 09 4d 79 53 |ng file |*/...MyS|
|00000690| 46 47 65 74 46 69 6c 65 | 28 4d 79 53 74 72 69 6e |FGetFile|(MyStrin|
|000006a0| 67 28 53 54 52 5f 47 2c | 20 47 5f 41 50 50 45 4e |g(STR_G,| G_APPEN|
|000006b0| 44 29 2c 20 30 2c 20 31 | 2c 20 26 54 45 58 54 2c |D), 0, 1|, &TEXT,|
|000006c0| 20 26 73 66 72 2c 20 30 | 29 3b 0d 09 09 69 66 20 | &sfr, 0|);...if |
|000006d0| 28 21 73 66 72 2e 67 6f | 6f 64 29 09 2f 2a 20 43 |(!sfr.go|od)./* C|
|000006e0| 61 6e 63 65 6c 20 2a 2f | 0d 09 09 09 72 65 74 75 |ancel */|....retu|
|000006f0| 72 6e 3b 0d 09 09 69 66 | 20 28 4f 70 65 6e 46 69 |rn;...if| (OpenFi|
|00000700| 6c 65 28 73 66 72 2e 76 | 52 65 66 4e 75 6d 2c 20 |le(sfr.v|RefNum, |
|00000710| 30 2c 20 28 42 79 74 65 | 20 2a 29 73 66 72 2e 66 |0, (Byte| *)sfr.f|
|00000720| 4e 61 6d 65 2c 20 26 72 | 29 29 20 7b 0d 09 09 09 |Name, &r|)) {....|
|00000730| 53 79 73 42 65 65 70 28 | 31 29 3b 0d 09 09 09 72 |SysBeep(|1);....r|
|00000740| 65 74 75 72 6e 3b 0d 09 | 09 7d 0d 09 09 69 66 20 |eturn;..|.}...if |
|00000750| 28 53 65 74 46 50 6f 73 | 28 72 2c 20 66 73 46 72 |(SetFPos|(r, fsFr|
|00000760| 6f 6d 4c 45 4f 46 2c 20 | 30 29 29 20 7b 0d 09 09 |omLEOF, |0)) {...|
|00000770| 09 46 53 43 6c 6f 73 65 | 28 72 29 3b 0d 09 09 09 |.FSClose|(r);....|
|00000780| 53 79 73 42 65 65 70 28 | 31 29 3b 0d 09 09 09 72 |SysBeep(|1);....r|
|00000790| 65 74 75 72 6e 3b 0d 09 | 09 7d 0d 09 7d 20 65 6c |eturn;..|.}..} el|
|000007a0| 73 65 20 7b 0d 09 09 2f | 2a 20 4f 70 65 6e 20 6e |se {.../|* Open n|
|000007b0| 65 77 20 66 69 6c 65 20 | 2a 2f 0d 09 09 4d 79 53 |ew file |*/...MyS|
|000007c0| 46 50 75 74 46 69 6c 65 | 28 4d 79 53 74 72 69 6e |FPutFile|(MyStrin|
|000007d0| 67 28 53 54 52 5f 47 2c | 20 47 5f 53 41 56 45 29 |g(STR_G,| G_SAVE)|
|000007e0| 2c 20 4d 79 53 74 72 69 | 6e 67 28 53 54 52 5f 47 |, MyStri|ng(STR_G|
|000007f0| 2c 20 47 5f 43 54 46 49 | 4c 45 29 2c 0d 09 09 09 |, G_CTFI|LE),....|
|00000800| 4d 79 53 74 72 69 6e 67 | 28 53 54 52 5f 47 2c 20 |MyString|(STR_G, |
|00000810| 47 5f 43 41 50 54 55 52 | 45 29 2c 20 26 73 66 72 |G_CAPTUR|E), &sfr|
|00000820| 29 3b 0d 09 09 69 66 20 | 28 21 73 66 72 2e 67 6f |);...if |(!sfr.go|
|00000830| 6f 64 29 09 2f 2a 20 43 | 61 6e 63 65 6c 20 2a 2f |od)./* C|ancel */|
|00000840| 0d 09 09 09 72 65 74 75 | 72 6e 3b 0d 09 09 44 65 |....retu|rn;...De|
|00000850| 6c 65 74 65 46 69 6c 65 | 28 73 66 72 2e 76 52 65 |leteFile|(sfr.vRe|
|00000860| 66 4e 75 6d 2c 20 30 2c | 20 28 42 79 74 65 20 2a |fNum, 0,| (Byte *|
|00000870| 29 73 66 72 2e 66 4e 61 | 6d 65 29 3b 0d 09 09 69 |)sfr.fNa|me);...i|
|00000880| 66 20 28 43 72 65 61 74 | 65 46 69 6c 65 28 73 66 |f (Creat|eFile(sf|
|00000890| 72 2e 76 52 65 66 4e 75 | 6d 2c 20 30 2c 20 28 42 |r.vRefNu|m, 0, (B|
|000008a0| 79 74 65 20 2a 29 73 66 | 72 2e 66 4e 61 6d 65 2c |yte *)sf|r.fName,|
|000008b0| 0d 09 09 09 09 53 65 74 | 74 69 6e 67 73 2e 74 65 |.....Set|tings.te|
|000008c0| 78 74 43 72 65 61 74 6f | 72 2c 20 54 45 58 54 29 |xtCreato|r, TEXT)|
|000008d0| 20 7c 7c 0d 09 09 09 09 | 4f 70 65 6e 46 69 6c 65 | ||.....|OpenFile|
|000008e0| 28 73 66 72 2e 76 52 65 | 66 4e 75 6d 2c 20 30 2c |(sfr.vRe|fNum, 0,|
|000008f0| 20 28 42 79 74 65 20 2a | 29 73 66 72 2e 66 4e 61 | (Byte *|)sfr.fNa|
|00000900| 6d 65 2c 20 26 72 29 29 | 20 7b 0d 09 09 09 53 79 |me, &r))| {....Sy|
|00000910| 73 42 65 65 70 28 31 29 | 3b 0d 09 09 09 72 65 74 |sBeep(1)|;....ret|
|00000920| 75 72 6e 3b 0d 09 09 7d | 0d 09 7d 0d 09 77 69 6e |urn;...}|..}..win|
|00000930| 64 6f 77 2d 3e 66 69 6c | 65 20 3d 20 72 3b 0d 09 |dow->fil|e = r;..|
|00000940| 77 69 6e 64 6f 77 2d 3e | 76 6f 6c 75 6d 65 20 3d |window->|volume =|
|00000950| 20 73 66 72 2e 76 52 65 | 66 4e 75 6d 3b 0d 09 53 | sfr.vRe|fNum;..S|
|00000960| 65 74 49 74 65 6d 53 74 | 79 6c 65 28 47 65 74 4d |etItemSt|yle(GetM|
|00000970| 65 6e 75 28 46 49 4c 45 | 29 2c 20 43 41 50 54 55 |enu(FILE|), CAPTU|
|00000980| 52 45 2c 20 41 43 54 49 | 56 45 29 3b 0d 7d 0d 0d |RE, ACTI|VE);.}..|
|00000990| 2f 2a 20 2d 2d 2d 2d 2d | 20 53 61 76 65 20 6f 6e |/* -----| Save on|
|000009a0| 65 20 62 79 74 65 20 69 | 6e 20 63 61 70 74 75 72 |e byte i|n captur|
|000009b0| 65 20 66 69 6c 65 20 2d | 2d 2d 2d 2d 2d 2d 2d 2d |e file -|--------|
|000009c0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000009d0| 2d 2d 2d 2d 2d 2d 2d 2d | 20 2a 2f 0d 0d 76 6f 69 |--------| */..voi|
|000009e0| 64 20 42 79 74 65 43 61 | 70 74 75 72 65 28 72 65 |d ByteCa|pture(re|
|000009f0| 67 69 73 74 65 72 20 42 | 79 74 65 20 62 29 0d 7b |gister B|yte b).{|
|00000a00| 0d 09 72 65 67 69 73 74 | 65 72 20 44 6f 63 75 6d |..regist|er Docum|
|00000a10| 65 6e 74 50 65 65 6b 20 | 77 69 6e 64 6f 77 20 3d |entPeek |window =|
|00000a20| 20 54 65 72 6d 69 6e 61 | 6c 57 69 6e 64 6f 77 3b | Termina|lWindow;|
|00000a30| 0d 09 72 65 67 69 73 74 | 65 72 20 73 68 6f 72 74 |..regist|er short|
|00000a40| 20 65 72 72 3b 0d 0d 09 | 69 66 20 28 77 69 6e 64 | err;...|if (wind|
|00000a50| 6f 77 2d 3e 66 69 6c 65 | 29 20 7b 0d 09 09 77 69 |ow->file|) {...wi|
|00000a60| 6e 64 6f 77 2d 3e 72 65 | 63 6f 72 64 5b 28 77 69 |ndow->re|cord[(wi|
|00000a70| 6e 64 6f 77 2d 3e 6c 65 | 6e 67 74 68 29 2b 2b 5d |ndow->le|ngth)++]|
|00000a80| 20 3d 20 62 3b 0d 09 09 | 69 66 20 28 77 69 6e 64 | = b;...|if (wind|
|00000a90| 6f 77 2d 3e 6c 65 6e 67 | 74 68 20 3d 3d 20 52 45 |ow->leng|th == RE|
|00000aa0| 43 4f 52 44 29 20 7b 0d | 09 09 09 65 72 72 20 3d |CORD) {.|...err =|
|00000ab0| 20 46 53 57 72 69 74 65 | 28 77 69 6e 64 6f 77 2d | FSWrite|(window-|
|00000ac0| 3e 66 69 6c 65 2c 20 26 | 77 69 6e 64 6f 77 2d 3e |>file, &|window->|
|00000ad0| 6c 65 6e 67 74 68 2c 20 | 77 69 6e 64 6f 77 2d 3e |length, |window->|
|00000ae0| 72 65 63 6f 72 64 29 3b | 0d 09 09 09 77 69 6e 64 |record);|....wind|
|00000af0| 6f 77 2d 3e 6c 65 6e 67 | 74 68 20 3d 20 30 3b 0d |ow->leng|th = 0;.|
|00000b00| 09 09 09 69 66 20 28 65 | 72 72 29 20 7b 0d 09 09 |...if (e|rr) {...|
|00000b10| 09 09 54 65 78 74 43 61 | 70 74 75 72 65 28 30 29 |..TextCa|pture(0)|
|00000b20| 3b 09 2f 2a 20 43 6c 6f | 73 65 20 66 69 6c 65 20 |;./* Clo|se file |
|00000b30| 2a 2f 0d 09 09 09 09 45 | 72 72 6f 72 28 65 72 72 |*/.....E|rror(err|
|00000b40| 2c 20 45 6d 70 74 79 53 | 74 72 29 3b 0d 09 09 09 |, EmptyS|tr);....|
|00000b50| 7d 0d 09 09 7d 0d 09 7d | 0d 7d 0d 0d 2f 2a 20 2d |}...}..}|.}../* -|
|00000b60| 2d 2d 2d 2d 20 53 61 76 | 65 20 74 65 78 74 20 6f |---- Sav|e text o|
|00000b70| 66 20 77 69 6e 64 6f 77 | 20 2d 2d 2d 2d 2d 2d 2d |f window| -------|
|00000b80| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000b90| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000ba0| 2d 2d 2d 2d 20 2a 2f 0d | 0d 76 6f 69 64 20 53 61 |---- */.|.void Sa|
|00000bb0| 76 65 42 75 66 66 65 72 | 28 73 68 6f 72 74 20 6f |veBuffer|(short o|
|00000bc0| 70 74 69 6f 6e 73 29 0d | 7b 0d 09 72 65 67 69 73 |ptions).|{..regis|
|00000bd0| 74 65 72 20 44 6f 63 75 | 6d 65 6e 74 50 65 65 6b |ter Docu|mentPeek|
|00000be0| 20 77 69 6e 64 6f 77 20 | 3d 20 54 65 72 6d 69 6e | window |= Termin|
|00000bf0| 61 6c 57 69 6e 64 6f 77 | 3b 0d 09 72 65 67 69 73 |alWindow|;..regis|
|00000c00| 74 65 72 20 42 79 74 65 | 20 2a 70 3b 0d 09 72 65 |ter Byte| *p;..re|
|00000c10| 67 69 73 74 65 72 20 73 | 68 6f 72 74 20 65 72 72 |gister s|hort err|
|00000c20| 3b 0d 09 53 46 52 65 70 | 6c 79 20 73 66 72 3b 0d |;..SFRep|ly sfr;.|
|00000c30| 09 73 68 6f 72 74 20 72 | 3b 0d 09 6c 6f 6e 67 20 |.short r|;..long |
|00000c40| 63 6f 75 6e 74 3b 0d 0d | 09 69 66 20 28 77 69 6e |count;..|.if (win|
|00000c50| 64 6f 77 2d 3e 62 75 66 | 2e 6e 65 77 43 68 61 72 |dow->buf|.newChar|
|00000c60| 20 3d 3d 20 77 69 6e 64 | 6f 77 2d 3e 62 75 66 2e | == wind|ow->buf.|
|00000c70| 66 69 72 73 74 43 68 61 | 72 29 09 2f 2a 20 45 6d |firstCha|r)./* Em|
|00000c80| 70 74 79 20 2a 2f 0d 09 | 09 72 65 74 75 72 6e 3b |pty */..|.return;|
|00000c90| 0d 09 69 66 20 28 6f 70 | 74 69 6f 6e 73 20 26 20 |..if (op|tions & |
|00000ca0| 28 6f 70 74 69 6f 6e 4b | 65 79 20 7c 20 63 6d 64 |(optionK|ey | cmd|
|00000cb0| 4b 65 79 20 7c 20 73 68 | 69 66 74 4b 65 79 20 7c |Key | sh|iftKey ||
|00000cc0| 20 63 6f 6e 74 72 6f 6c | 4b 65 79 29 29 20 7b 0d | control|Key)) {.|
|00000cd0| 09 09 2f 2a 20 41 70 70 | 65 6e 64 20 74 6f 20 65 |../* App|end to e|
|00000ce0| 78 69 73 74 69 6e 67 20 | 66 69 6c 65 20 2a 2f 0d |xisting |file */.|
|00000cf0| 09 09 4d 79 53 46 47 65 | 74 46 69 6c 65 28 4d 79 |..MySFGe|tFile(My|
|00000d00| 53 74 72 69 6e 67 28 53 | 54 52 5f 47 2c 20 47 5f |String(S|TR_G, G_|
|00000d10| 41 50 50 45 4e 44 29 2c | 20 30 2c 20 31 2c 20 26 |APPEND),| 0, 1, &|
|00000d20| 54 45 58 54 2c 20 26 73 | 66 72 2c 20 30 29 3b 0d |TEXT, &s|fr, 0);.|
|00000d30| 09 09 52 65 64 72 61 77 | 44 6f 63 75 6d 65 6e 74 |..Redraw|Document|
|00000d40| 28 29 3b 0d 09 09 69 66 | 20 28 21 73 66 72 2e 67 |();...if| (!sfr.g|
|00000d50| 6f 6f 64 29 09 2f 2a 20 | 43 61 6e 63 65 6c 20 2a |ood)./* |Cancel *|
|00000d60| 2f 0d 09 09 09 72 65 74 | 75 72 6e 3b 0d 09 09 69 |/....ret|urn;...i|
|00000d70| 66 20 28 4f 70 65 6e 46 | 69 6c 65 28 73 66 72 2e |f (OpenF|ile(sfr.|
|00000d80| 76 52 65 66 4e 75 6d 2c | 20 30 2c 20 28 42 79 74 |vRefNum,| 0, (Byt|
|00000d90| 65 20 2a 29 73 66 72 2e | 66 4e 61 6d 65 2c 20 26 |e *)sfr.|fName, &|
|00000da0| 72 29 29 0d 09 09 09 67 | 6f 74 6f 20 64 6f 6e 65 |r))....g|oto done|
|00000db0| 32 3b 0d 09 09 69 66 20 | 28 53 65 74 46 50 6f 73 |2;...if |(SetFPos|
|00000dc0| 28 72 2c 20 66 73 46 72 | 6f 6d 4c 45 4f 46 2c 20 |(r, fsFr|omLEOF, |
|00000dd0| 30 29 29 0d 09 09 09 67 | 6f 74 6f 20 64 6f 6e 65 |0))....g|oto done|
|00000de0| 31 3b 0d 09 7d 20 65 6c | 73 65 20 7b 0d 09 09 2f |1;..} el|se {.../|
|00000df0| 2a 20 43 72 65 61 74 65 | 20 6e 65 77 20 66 69 6c |* Create| new fil|
|00000e00| 65 20 2a 2f 0d 09 09 4d | 79 53 46 50 75 74 46 69 |e */...M|ySFPutFi|
|00000e10| 6c 65 28 4d 79 53 74 72 | 69 6e 67 28 53 54 52 5f |le(MyStr|ing(STR_|
|00000e20| 47 2c 20 47 5f 53 41 56 | 45 29 2c 20 4d 79 53 74 |G, G_SAV|E), MySt|
|00000e30| 72 69 6e 67 28 53 54 52 | 5f 47 2c 20 47 5f 53 43 |ring(STR|_G, G_SC|
|00000e40| 42 55 46 46 45 52 29 2c | 0d 09 09 09 4d 79 53 74 |BUFFER),|....MySt|
|00000e50| 72 69 6e 67 28 53 54 52 | 5f 47 2c 20 47 5f 42 55 |ring(STR|_G, G_BU|
|00000e60| 46 46 45 52 29 2c 20 26 | 73 66 72 29 3b 0d 09 09 |FFER), &|sfr);...|
|00000e70| 52 65 64 72 61 77 44 6f | 63 75 6d 65 6e 74 28 29 |RedrawDo|cument()|
|00000e80| 3b 0d 09 09 69 66 20 28 | 21 73 66 72 2e 67 6f 6f |;...if (|!sfr.goo|
|00000e90| 64 29 09 2f 2a 20 43 61 | 6e 63 65 6c 20 2a 2f 0d |d)./* Ca|ncel */.|
|00000ea0| 09 09 09 72 65 74 75 72 | 6e 3b 0d 09 09 44 65 6c |...retur|n;...Del|
|00000eb0| 65 74 65 46 69 6c 65 28 | 73 66 72 2e 76 52 65 66 |eteFile(|sfr.vRef|
|00000ec0| 4e 75 6d 2c 20 30 2c 20 | 28 42 79 74 65 20 2a 29 |Num, 0, |(Byte *)|
|00000ed0| 73 66 72 2e 66 4e 61 6d | 65 29 3b 0d 09 09 69 66 |sfr.fNam|e);...if|
|00000ee0| 20 28 28 65 72 72 20 3d | 20 43 72 65 61 74 65 46 | ((err =| CreateF|
|00000ef0| 69 6c 65 28 73 66 72 2e | 76 52 65 66 4e 75 6d 2c |ile(sfr.|vRefNum,|
|00000f00| 20 30 2c 20 28 42 79 74 | 65 20 2a 29 73 66 72 2e | 0, (Byt|e *)sfr.|
|00000f10| 66 4e 61 6d 65 2c 0d 09 | 09 09 09 53 65 74 74 69 |fName,..|...Setti|
|00000f20| 6e 67 73 2e 74 65 78 74 | 43 72 65 61 74 6f 72 2c |ngs.text|Creator,|
|00000f30| 20 54 45 58 54 29 29 20 | 7c 7c 0d 09 09 09 09 28 | TEXT)) |||.....(|
|00000f40| 65 72 72 20 3d 20 4f 70 | 65 6e 46 69 6c 65 28 73 |err = Op|enFile(s|
|00000f50| 66 72 2e 76 52 65 66 4e | 75 6d 2c 20 30 2c 20 28 |fr.vRefN|um, 0, (|
|00000f60| 42 79 74 65 20 2a 29 73 | 66 72 2e 66 4e 61 6d 65 |Byte *)s|fr.fName|
|00000f70| 2c 20 26 72 29 29 29 0d | 09 09 09 67 6f 74 6f 20 |, &r))).|...goto |
|00000f80| 64 6f 6e 65 32 3b 0d 09 | 7d 0d 09 70 20 3d 20 77 |done2;..|}..p = w|
|00000f90| 69 6e 64 6f 77 2d 3e 62 | 75 66 2e 74 65 78 74 3b |indow->b|uf.text;|
|00000fa0| 0d 09 69 66 20 28 77 69 | 6e 64 6f 77 2d 3e 62 75 |..if (wi|ndow->bu|
|00000fb0| 66 2e 6e 65 77 43 68 61 | 72 20 3e 20 77 69 6e 64 |f.newCha|r > wind|
|00000fc0| 6f 77 2d 3e 62 75 66 2e | 66 69 72 73 74 43 68 61 |ow->buf.|firstCha|
|00000fd0| 72 29 20 7b 09 2f 2a 20 | 4f 6e 65 20 70 61 72 74 |r) {./* |One part|
|00000fe0| 20 2a 2f 0d 09 09 63 6f | 75 6e 74 20 3d 20 77 69 | */...co|unt = wi|
|00000ff0| 6e 64 6f 77 2d 3e 62 75 | 66 2e 6e 65 77 43 68 61 |ndow->bu|f.newCha|
|00001000| 72 20 2d 20 77 69 6e 64 | 6f 77 2d 3e 62 75 66 2e |r - wind|ow->buf.|
|00001010| 66 69 72 73 74 43 68 61 | 72 3b 0d 09 09 65 72 72 |firstCha|r;...err|
|00001020| 20 3d 20 46 53 57 72 69 | 74 65 28 72 2c 20 26 63 | = FSWri|te(r, &c|
|00001030| 6f 75 6e 74 2c 20 70 20 | 2b 20 77 69 6e 64 6f 77 |ount, p |+ window|
|00001040| 2d 3e 62 75 66 2e 66 69 | 72 73 74 43 68 61 72 29 |->buf.fi|rstChar)|
|00001050| 3b 0d 09 7d 20 65 6c 73 | 65 20 7b 09 09 09 09 09 |;..} els|e {.....|
|00001060| 09 09 09 09 09 09 2f 2a | 20 54 77 6f 20 70 61 72 |....../*| Two par|
|00001070| 74 73 20 2a 2f 0d 09 09 | 63 6f 75 6e 74 20 3d 20 |ts */...|count = |
|00001080| 77 69 6e 64 6f 77 2d 3e | 62 75 66 2e 73 69 7a 65 |window->|buf.size|
|00001090| 20 2d 20 77 69 6e 64 6f | 77 2d 3e 62 75 66 2e 66 | - windo|w->buf.f|
|000010a0| 69 72 73 74 43 68 61 72 | 3b 0d 09 09 69 66 20 28 |irstChar|;...if (|
|000010b0| 65 72 72 20 3d 20 46 53 | 57 72 69 74 65 28 72 2c |err = FS|Write(r,|
|000010c0| 20 26 63 6f 75 6e 74 2c | 20 70 20 2b 20 77 69 6e | &count,| p + win|
|000010d0| 64 6f 77 2d 3e 62 75 66 | 2e 66 69 72 73 74 43 68 |dow->buf|.firstCh|
|000010e0| 61 72 29 29 0d 09 09 09 | 67 6f 74 6f 20 64 6f 6e |ar))....|goto don|
|000010f0| 65 31 3b 0d 09 09 69 66 | 20 28 63 6f 75 6e 74 20 |e1;...if| (count |
|00001100| 3d 20 77 69 6e 64 6f 77 | 2d 3e 62 75 66 2e 6e 65 |= window|->buf.ne|
|00001110| 77 43 68 61 72 29 0d 09 | 09 09 65 72 72 20 3d 20 |wChar)..|..err = |
|00001120| 46 53 57 72 69 74 65 28 | 72 2c 20 26 63 6f 75 6e |FSWrite(|r, &coun|
|00001130| 74 2c 20 70 29 3b 0d 09 | 7d 0d 64 6f 6e 65 31 3a |t, p);..|}.done1:|
|00001140| 0d 09 46 53 43 6c 6f 73 | 65 28 72 29 3b 0d 09 46 |..FSClos|e(r);..F|
|00001150| 6c 75 73 68 56 6f 6c 28 | 30 2c 20 73 66 72 2e 76 |lushVol(|0, sfr.v|
|00001160| 52 65 66 4e 75 6d 29 3b | 0d 64 6f 6e 65 32 3a 0d |RefNum);|.done2:.|
|00001170| 09 69 66 20 28 65 72 72 | 29 0d 09 09 45 72 72 6f |.if (err|)...Erro|
|00001180| 72 28 65 72 72 2c 20 45 | 6d 70 74 79 53 74 72 29 |r(err, E|mptyStr)|
|00001190| 3b 0d 7d 0d 0d 2f 2a 20 | 2d 2d 2d 2d 2d 20 53 65 |;.}../* |----- Se|
|000011a0| 6e 64 20 74 65 78 74 20 | 66 69 6c 65 20 2d 2d 2d |nd text |file ---|
|000011b0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000011c0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000011d0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 20 2a 2f |--------|----- */|
|000011e0| 0d 0d 73 68 6f 72 74 20 | 70 61 73 63 61 6c 20 53 |..short |pascal S|
|000011f0| 65 6e 64 54 65 78 74 46 | 69 6c 65 28 0d 09 73 68 |endTextF|ile(..sh|
|00001200| 6f 72 74 20 72 65 66 2c | 09 09 09 09 09 2f 2a 20 |ort ref,|...../* |
|00001210| 46 69 6c 65 20 72 65 66 | 65 72 65 6e 63 65 20 6e |File ref|erence n|
|00001220| 75 6d 62 65 72 20 2a 2f | 0d 09 42 79 74 65 20 2a |umber */|..Byte *|
|00001230| 6e 61 6d 65 29 09 09 09 | 09 09 2f 2a 20 46 69 6c |name)...|../* Fil|
|00001240| 65 20 6e 61 6d 65 20 2a | 2f 0d 7b 0d 09 72 65 67 |e name *|/.{..reg|
|00001250| 69 73 74 65 72 20 73 68 | 6f 72 74 20 65 72 72 3b |ister sh|ort err;|
|00001260| 09 09 09 2f 2a 20 45 72 | 72 6f 72 20 63 6f 64 65 |.../* Er|ror code|
|00001270| 20 2a 2f 0d 09 72 65 67 | 69 73 74 65 72 20 6c 6f | */..reg|ister lo|
|00001280| 6e 67 20 63 6f 75 6e 74 | 3b 09 09 2f 2a 20 46 69 |ng count|;../* Fi|
|00001290| 6c 65 20 72 65 61 64 20 | 63 6f 75 6e 74 20 2a 2f |le read |count */|
|000012a0| 0d 09 72 65 67 69 73 74 | 65 72 20 42 79 74 65 20 |..regist|er Byte |
|000012b0| 62 75 66 66 65 72 5b 32 | 35 36 5d 3b 09 2f 2a 20 |buffer[2|56];./* |
|000012c0| 54 72 61 6e 73 6d 69 74 | 20 62 75 66 66 65 72 20 |Transmit| buffer |
|000012d0| 2a 2f 0d 09 48 50 61 72 | 61 6d 42 6c 6f 63 6b 52 |*/..HPar|amBlockR|
|000012e0| 65 63 20 70 3b 09 09 09 | 2f 2a 20 55 73 65 64 20 |ec p;...|/* Used |
|000012f0| 66 6f 72 20 50 42 52 65 | 61 64 28 29 20 2a 2f 0d |for PBRe|ad() */.|
|00001300| 09 6c 6f 6e 67 20 6d 61 | 72 6b 20 3d 20 30 3b 09 |.long ma|rk = 0;.|
|00001310| 09 09 09 2f 2a 20 43 75 | 72 72 65 6e 74 20 66 69 |.../* Cu|rrent fi|
|00001320| 6c 65 20 70 6f 73 69 74 | 69 6f 6e 20 2a 2f 0d 09 |le posit|ion */..|
|00001330| 6c 6f 6e 67 20 74 69 6d | 65 3b 09 09 09 09 09 2f |long tim|e;...../|
|00001340| 2a 20 48 6f 77 20 6c 6f | 6e 67 20 69 74 20 74 61 |* How lo|ng it ta|
|00001350| 6b 65 73 20 2a 2f 0d 0d | 09 69 66 20 28 53 65 6e |kes */..|.if (Sen|
|00001360| 64 46 69 6c 65 52 65 66 | 20 7c 7c 20 53 65 6e 64 |dFileRef| || Send|
|00001370| 69 6e 67 20 7c 7c 20 54 | 72 61 6e 73 66 65 72 29 |ing || T|ransfer)|
|00001380| 0d 09 09 72 65 74 75 72 | 6e 20 66 42 73 79 45 72 |...retur|n fBsyEr|
|00001390| 72 3b 0d 09 53 65 6e 64 | 46 69 6c 65 52 65 66 20 |r;..Send|FileRef |
|000013a0| 3d 20 72 65 66 3b 0d 09 | 53 65 6e 64 69 6e 67 20 |= ref;..|Sending |
|000013b0| 3d 20 54 52 55 45 3b 0d | 09 43 6f 6e 74 72 6f 6c |= TRUE;.|.Control|
|000013c0| 5f 58 20 3d 20 46 41 4c | 53 45 3b 0d 09 53 65 74 |_X = FAL|SE;..Set|
|000013d0| 49 74 65 6d 53 74 79 6c | 65 28 47 65 74 4d 65 6e |ItemStyl|e(GetMen|
|000013e0| 75 28 46 49 4c 45 29 2c | 20 53 45 4e 44 2c 20 41 |u(FILE),| SEND, A|
|000013f0| 43 54 49 56 45 29 3b 0d | 09 4d 61 6b 65 4d 65 73 |CTIVE);.|.MakeMes|
|00001400| 73 61 67 65 28 54 65 72 | 6d 69 6e 61 6c 57 69 6e |sage(Ter|minalWin|
|00001410| 64 6f 77 2c 0d 09 09 46 | 6f 72 6d 61 74 53 74 72 |dow,...F|ormatStr|
|00001420| 28 62 75 66 66 65 72 2c | 20 4d 79 53 74 72 69 6e |(buffer,| MyStrin|
|00001430| 67 28 53 54 52 5f 50 2c | 20 50 5f 53 54 45 58 54 |g(STR_P,| P_STEXT|
|00001440| 29 2c 20 6e 61 6d 65 29 | 29 3b 0d 09 2f 2a 20 53 |), name)|);../* S|
|00001450| 65 72 69 61 6c 48 61 6e | 64 73 68 61 6b 65 28 53 |erialHan|dshake(S|
|00001460| 65 74 74 69 6e 67 73 2e | 68 61 6e 64 73 68 61 6b |ettings.|handshak|
|00001470| 65 29 3b 20 2a 2f 0d 09 | 70 2e 69 6f 50 61 72 61 |e); */..|p.ioPara|
|00001480| 6d 2e 69 6f 43 6f 6d 70 | 6c 65 74 69 6f 6e 20 3d |m.ioComp|letion =|
|00001490| 20 30 3b 0d 09 70 2e 69 | 6f 50 61 72 61 6d 2e 69 | 0;..p.i|oParam.i|
|000014a0| 6f 52 65 66 4e 75 6d 20 | 3d 20 72 65 66 3b 0d 09 |oRefNum |= ref;..|
|000014b0| 70 2e 69 6f 50 61 72 61 | 6d 2e 69 6f 42 75 66 66 |p.ioPara|m.ioBuff|
|000014c0| 65 72 20 3d 20 28 50 74 | 72 29 62 75 66 66 65 72 |er = (Pt|r)buffer|
|000014d0| 3b 0d 09 70 2e 69 6f 50 | 61 72 61 6d 2e 69 6f 52 |;..p.ioP|aram.ioR|
|000014e0| 65 71 43 6f 75 6e 74 20 | 3d 20 28 53 65 74 74 69 |eqCount |= (Setti|
|000014f0| 6e 67 73 2e 63 68 61 72 | 64 65 6c 61 79 29 20 3f |ngs.char|delay) ?|
|00001500| 20 31 20 3a 20 73 69 7a | 65 6f 66 28 62 75 66 66 | 1 : siz|eof(buff|
|00001510| 65 72 29 20 2d 20 31 3b | 0d 09 70 2e 69 6f 50 61 |er) - 1;|..p.ioPa|
|00001520| 72 61 6d 2e 69 6f 50 6f | 73 4d 6f 64 65 20 3d 0d |ram.ioPo|sMode =.|
|00001530| 09 09 28 53 65 74 74 69 | 6e 67 73 2e 6c 69 6e 65 |..(Setti|ngs.line|
|00001540| 64 65 6c 61 79 20 7c 7c | 20 53 65 74 74 69 6e 67 |delay ||| Setting|
|00001550| 73 2e 70 72 6f 6d 70 74 | 5b 30 5d 20 7c 7c 20 53 |s.prompt|[0] || S|
|00001560| 65 74 74 69 6e 67 73 2e | 61 75 74 6f 4c 46 29 20 |ettings.|autoLF) |
|00001570| 3f 0d 09 09 28 30 78 30 | 44 38 30 20 7c 20 66 73 |?...(0x0|D80 | fs|
|00001580| 41 74 4d 61 72 6b 29 20 | 3a 20 66 73 41 74 4d 61 |AtMark) |: fsAtMa|
|00001590| 72 6b 3b 09 2f 2a 20 43 | 52 20 61 73 20 6e 65 77 |rk;./* C|R as new|
|000015a0| 6c 69 6e 65 20 28 69 66 | 20 6e 65 63 65 73 73 61 |line (if| necessa|
|000015b0| 72 79 29 20 2a 2f 0d 09 | 74 69 6d 65 20 3d 20 54 |ry) */..|time = T|
|000015c0| 69 6d 65 3b 0d 09 64 6f | 20 7b 0d 09 09 65 72 72 |ime;..do| {...err|
|000015d0| 20 3d 20 50 42 52 65 61 | 64 28 28 50 61 72 6d 42 | = PBRea|d((ParmB|
|000015e0| 6c 6b 50 74 72 29 26 70 | 2c 20 46 41 4c 53 45 29 |lkPtr)&p|, FALSE)|
|000015f0| 3b 0d 09 09 63 6f 75 6e | 74 20 3d 20 70 2e 69 6f |;...coun|t = p.io|
|00001600| 50 61 72 61 6d 2e 69 6f | 41 63 74 43 6f 75 6e 74 |Param.io|ActCount|
|00001610| 3b 0d 09 09 69 66 20 28 | 28 65 72 72 20 3d 3d 20 |;...if (|(err == |
|00001620| 6e 6f 45 72 72 20 7c 7c | 20 65 72 72 20 3d 3d 20 |noErr ||| err == |
|00001630| 65 6f 66 45 72 72 29 20 | 26 26 20 63 6f 75 6e 74 |eofErr) |&& count|
|00001640| 29 20 7b 0d 09 09 09 77 | 68 69 6c 65 20 28 42 75 |) {....w|hile (Bu|
|00001650| 73 79 29 09 2f 2a 20 4f | 74 68 65 72 20 73 65 6e |sy)./* O|ther sen|
|00001660| 64 20 69 6e 20 70 72 6f | 67 72 65 73 73 20 2a 2f |d in pro|gress */|
|00001670| 0d 09 09 09 09 3b 0d 09 | 09 09 69 66 20 28 62 75 |.....;..|..if (bu|
|00001680| 66 66 65 72 5b 63 6f 75 | 6e 74 2d 31 5d 20 3d 3d |ffer[cou|nt-1] ==|
|00001690| 20 27 5c 30 31 35 27 29 | 20 7b 0d 09 09 09 09 69 | '\015')| {.....i|
|000016a0| 66 20 28 53 65 74 74 69 | 6e 67 73 2e 61 75 74 6f |f (Setti|ngs.auto|
|000016b0| 4c 46 29 0d 09 09 09 09 | 09 62 75 66 66 65 72 5b |LF).....|.buffer[|
|000016c0| 63 6f 75 6e 74 2b 2b 5d | 20 3d 20 27 5c 30 31 32 |count++]| = '\012|
|000016d0| 27 3b 0d 09 09 09 09 53 | 65 72 69 61 6c 53 65 6e |';.....S|erialSen|
|000016e0| 64 28 62 75 66 66 65 72 | 2c 20 63 6f 75 6e 74 2c |d(buffer|, count,|
|000016f0| 20 26 42 75 73 79 29 3b | 0d 09 09 09 09 69 66 20 | &Busy);|.....if |
|00001700| 28 53 65 74 74 69 6e 67 | 73 2e 6c 6f 63 61 6c 45 |(Setting|s.localE|
|00001710| 63 68 6f 29 0d 09 09 09 | 09 09 4e 65 77 43 68 61 |cho)....|..NewCha|
|00001720| 72 61 63 74 65 72 73 28 | 62 75 66 66 65 72 2c 20 |racters(|buffer, |
|00001730| 63 6f 75 6e 74 2c 20 46 | 41 4c 53 45 29 3b 0d 09 |count, F|ALSE);..|
|00001740| 09 09 09 69 66 20 28 53 | 65 74 74 69 6e 67 73 2e |...if (S|ettings.|
|00001750| 6c 69 6e 65 64 65 6c 61 | 79 20 7c 7c 20 53 65 74 |linedela|y || Set|
|00001760| 74 69 6e 67 73 2e 70 72 | 6f 6d 70 74 5b 30 5d 29 |tings.pr|ompt[0])|
|00001770| 0d 09 09 09 09 09 4c 6f | 6f 70 28 53 65 74 74 69 |......Lo|op(Setti|
|00001780| 6e 67 73 2e 6c 69 6e 65 | 64 65 6c 61 79 2c 53 65 |ngs.line|delay,Se|
|00001790| 74 74 69 6e 67 73 2e 70 | 72 6f 6d 70 74 2c 31 29 |ttings.p|rompt,1)|
|000017a0| 3b 0d 09 09 09 09 65 6c | 73 65 0d 09 09 09 09 09 |;.....el|se......|
|000017b0| 43 68 65 63 6b 45 76 65 | 6e 74 73 28 29 3b 0d 09 |CheckEve|nts();..|
|000017c0| 09 09 7d 20 65 6c 73 65 | 20 7b 0d 09 09 09 09 53 |..} else| {.....S|
|000017d0| 65 72 69 61 6c 53 65 6e | 64 28 62 75 66 66 65 72 |erialSen|d(buffer|
|000017e0| 2c 20 63 6f 75 6e 74 2c | 20 26 42 75 73 79 29 3b |, count,| &Busy);|
|000017f0| 0d 09 09 09 09 69 66 20 | 28 53 65 74 74 69 6e 67 |.....if |(Setting|
|00001800| 73 2e 6c 6f 63 61 6c 45 | 63 68 6f 29 0d 09 09 09 |s.localE|cho)....|
|00001810| 09 09 4e 65 77 43 68 61 | 72 61 63 74 65 72 73 28 |..NewCha|racters(|
|00001820| 62 75 66 66 65 72 2c 20 | 63 6f 75 6e 74 2c 20 46 |buffer, |count, F|
|00001830| 41 4c 53 45 29 3b 0d 09 | 09 09 09 69 66 20 28 53 |ALSE);..|...if (S|
|00001840| 65 74 74 69 6e 67 73 2e | 63 68 61 72 64 65 6c 61 |ettings.|chardela|
|00001850| 79 29 0d 09 09 09 09 09 | 4c 6f 6f 70 28 53 65 74 |y)......|Loop(Set|
|00001860| 74 69 6e 67 73 2e 63 68 | 61 72 64 65 6c 61 79 2c |tings.ch|ardelay,|
|00001870| 20 30 2c 20 30 29 3b 0d | 09 09 09 09 65 6c 73 65 | 0, 0);.|....else|
|00001880| 0d 09 09 09 09 09 43 68 | 65 63 6b 45 76 65 6e 74 |......Ch|eckEvent|
|00001890| 73 28 29 3b 0d 09 09 09 | 7d 0d 09 09 09 6d 61 72 |s();....|}....mar|
|000018a0| 6b 20 2b 3d 20 63 6f 75 | 6e 74 3b 0d 09 09 7d 0d |k += cou|nt;...}.|
|000018b0| 09 7d 20 77 68 69 6c 65 | 20 28 65 72 72 20 3d 3d |.} while| (err ==|
|000018c0| 20 6e 6f 45 72 72 20 26 | 26 20 53 65 6e 64 69 6e | noErr &|& Sendin|
|000018d0| 67 29 3b 0d 0d 09 69 66 | 20 28 65 72 72 20 3d 3d |g);...if| (err ==|
|000018e0| 20 65 6f 66 45 72 72 29 | 0d 09 09 65 72 72 20 3d | eofErr)|...err =|
|000018f0| 20 6e 6f 45 72 72 3b 0d | 09 69 66 20 28 21 53 65 | noErr;.|.if (!Se|
|00001900| 6e 64 69 6e 67 29 0d 09 | 09 65 72 72 20 3d 20 43 |nding)..|.err = C|
|00001910| 6f 6e 74 72 6f 6c 5f 58 | 20 3f 20 41 42 4f 52 54 |ontrol_X| ? ABORT|
|00001920| 20 3a 20 43 41 4e 43 45 | 4c 3b 0d 09 53 74 61 74 | : CANCE|L;..Stat|
|00001930| 69 73 74 69 63 73 28 6d | 61 72 6b 2c 20 74 69 6d |istics(m|ark, tim|
|00001940| 65 20 3d 20 54 69 6d 65 | 20 2d 20 74 69 6d 65 2c |e = Time| - time,|
|00001950| 20 65 72 72 29 3b 0d 09 | 53 65 74 49 74 65 6d 53 | err);..|SetItemS|
|00001960| 74 79 6c 65 28 47 65 74 | 4d 65 6e 75 28 46 49 4c |tyle(Get|Menu(FIL|
|00001970| 45 29 2c 20 53 45 4e 44 | 2c 20 30 29 3b 0d 09 46 |E), SEND|, 0);..F|
|00001980| 53 43 6c 6f 73 65 28 72 | 65 66 29 3b 0d 09 53 65 |SClose(r|ef);..Se|
|00001990| 6e 64 46 69 6c 65 52 65 | 66 20 3d 20 30 3b 0d 09 |ndFileRe|f = 0;..|
|000019a0| 53 65 6e 64 69 6e 67 20 | 3d 20 46 41 4c 53 45 3b |Sending |= FALSE;|
|000019b0| 0d 09 43 6f 6e 74 72 6f | 6c 5f 58 20 3d 20 46 41 |..Contro|l_X = FA|
|000019c0| 4c 53 45 3b 0d 09 2f 2a | 20 53 65 72 69 61 6c 48 |LSE;../*| SerialH|
|000019d0| 61 6e 64 73 68 61 6b 65 | 28 30 29 3b 20 2a 2f 0d |andshake|(0); */.|
|000019e0| 09 72 65 74 75 72 6e 20 | 65 72 72 3b 0d 7d 0d 0d |.return |err;.}..|
|000019f0| 2f 2a 20 2d 2d 2d 2d 2d | 20 47 65 74 20 74 65 78 |/* -----| Get tex|
|00001a00| 74 20 66 69 6c 65 20 6e | 61 6d 65 20 61 6e 64 20 |t file n|ame and |
|00001a10| 73 65 6e 64 20 74 65 78 | 74 20 66 69 6c 65 20 2d |send tex|t file -|
|00001a20| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001a30| 2d 2d 2d 2d 2d 2d 2d 2d | 20 2a 2f 0d 0d 76 6f 69 |--------| */..voi|
|00001a40| 64 20 53 65 6e 64 54 65 | 78 74 28 76 6f 69 64 29 |d SendTe|xt(void)|
|00001a50| 0d 7b 0d 09 72 65 67 69 | 73 74 65 72 20 73 68 6f |.{..regi|ster sho|
|00001a60| 72 74 20 65 72 72 3b 0d | 09 53 46 52 65 70 6c 79 |rt err;.|.SFReply|
|00001a70| 20 73 66 72 3b 0d 09 73 | 68 6f 72 74 20 72 3b 0d | sfr;..s|hort r;.|
|00001a80| 0d 09 69 66 20 28 54 72 | 61 6e 73 66 65 72 29 20 |..if (Tr|ansfer) |
|00001a90| 7b 0d 09 09 53 79 73 42 | 65 65 70 28 31 29 3b 0d |{...SysB|eep(1);.|
|00001aa0| 09 09 72 65 74 75 72 6e | 3b 0d 09 7d 0d 09 69 66 |..return|;..}..if|
|00001ab0| 20 28 21 53 65 6e 64 69 | 6e 67 29 20 7b 0d 09 09 | (!Sendi|ng) {...|
|00001ac0| 4d 79 53 46 47 65 74 46 | 69 6c 65 28 4d 79 53 74 |MySFGetF|ile(MySt|
|00001ad0| 72 69 6e 67 28 53 54 52 | 5f 47 2c 20 47 5f 53 45 |ring(STR|_G, G_SE|
|00001ae0| 4e 44 29 2c 20 30 2c 20 | 31 2c 20 26 54 45 58 54 |ND), 0, |1, &TEXT|
|00001af0| 2c 20 26 73 66 72 2c 20 | 30 29 3b 0d 09 09 52 65 |, &sfr, |0);...Re|
|00001b00| 64 72 61 77 44 6f 63 75 | 6d 65 6e 74 28 29 3b 0d |drawDocu|ment();.|
|00001b10| 09 09 69 66 20 28 21 73 | 66 72 2e 67 6f 6f 64 29 |..if (!s|fr.good)|
|00001b20| 0d 09 09 09 72 65 74 75 | 72 6e 3b 0d 09 09 69 66 |....retu|rn;...if|
|00001b30| 20 28 65 72 72 20 3d 20 | 4f 70 65 6e 46 69 6c 65 | (err = |OpenFile|
|00001b40| 28 73 66 72 2e 76 52 65 | 66 4e 75 6d 2c 20 30 2c |(sfr.vRe|fNum, 0,|
|00001b50| 20 28 42 79 74 65 20 2a | 29 73 66 72 2e 66 4e 61 | (Byte *|)sfr.fNa|
|00001b60| 6d 65 2c 20 26 72 29 29 | 20 7b 0d 09 09 09 45 72 |me, &r))| {....Er|
|00001b70| 72 6f 72 28 65 72 72 2c | 20 45 6d 70 74 79 53 74 |ror(err,| EmptySt|
|00001b80| 72 29 3b 0d 09 09 09 72 | 65 74 75 72 6e 3b 0d 09 |r);....r|eturn;..|
|00001b90| 09 7d 0d 09 09 65 72 72 | 20 3d 20 53 65 6e 64 54 |.}...err| = SendT|
|00001ba0| 65 78 74 46 69 6c 65 28 | 72 2c 20 28 42 79 74 65 |extFile(|r, (Byte|
|00001bb0| 20 2a 29 73 66 72 2e 66 | 4e 61 6d 65 29 3b 0d 09 | *)sfr.f|Name);..|
|00001bc0| 7d 20 65 6c 73 65 20 7b | 0d 09 09 53 65 72 69 61 |} else {|...Seria|
|00001bd0| 6c 41 62 6f 72 74 28 29 | 3b 0d 09 09 53 65 6e 64 |lAbort()|;...Send|
|00001be0| 69 6e 67 20 3d 20 46 41 | 4c 53 45 3b 0d 09 7d 0d |ing = FA|LSE;..}.|
|00001bf0| 7d 0d 0d 2f 2a 20 2d 2d | 2d 2d 2d 20 53 65 6e 64 |}../* --|--- Send|
|00001c00| 20 74 65 78 74 20 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d | text --|--------|
|00001c10| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001c20| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001c30| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 20 2a 2f 0d 0d |--------|--- */..|
|00001c40| 73 74 61 74 69 63 20 73 | 68 6f 72 74 20 54 79 70 |static s|hort Typ|
|00001c50| 65 54 65 78 74 28 0d 09 | 72 65 67 69 73 74 65 72 |eText(..|register|
|00001c60| 20 42 79 74 65 20 2a 73 | 2c 09 09 09 2f 2a 20 2d | Byte *s|,.../* -|
|00001c70| 3e 20 74 65 78 74 20 74 | 6f 20 73 65 6e 64 20 2a |> text t|o send *|
|00001c80| 2f 0d 09 72 65 67 69 73 | 74 65 72 20 6c 6f 6e 67 |/..regis|ter long|
|00001c90| 20 6e 29 09 09 09 2f 2a | 20 4e 75 6d 62 65 72 20 | n).../*| Number |
|00001ca0| 6f 66 20 63 68 61 72 61 | 63 74 65 72 73 20 69 6e |of chara|cters in|
|00001cb0| 20 74 65 78 74 20 2a 2f | 0d 7b 0d 09 72 65 67 69 | text */|.{..regi|
|00001cc0| 73 74 65 72 20 6c 6f 6e | 67 20 63 6f 75 6e 74 3b |ster lon|g count;|
|00001cd0| 09 09 2f 2a 20 46 69 6c | 65 20 72 65 61 64 20 63 |../* Fil|e read c|
|00001ce0| 6f 75 6e 74 20 2a 2f 0d | 09 72 65 67 69 73 74 65 |ount */.|.registe|
|00001cf0| 72 20 42 79 74 65 20 62 | 75 66 66 65 72 5b 32 35 |r Byte b|uffer[25|
|00001d00| 36 5d 3b 09 2f 2a 20 54 | 72 61 6e 73 6d 69 74 20 |6];./* T|ransmit |
|00001d10| 62 75 66 66 65 72 20 2a | 2f 0d 09 73 68 6f 72 74 |buffer *|/..short|
|00001d20| 20 72 65 71 3b 09 09 09 | 09 09 2f 2a 20 4d 61 78 | req;...|../* Max|
|00001d30| 20 62 79 74 65 20 63 6f | 75 6e 74 20 2a 2f 0d 09 | byte co|unt */..|
|00001d40| 42 6f 6f 6c 65 61 6e 20 | 63 72 3b 09 09 09 09 09 |Boolean |cr;.....|
|00001d50| 2f 2a 20 4c 6f 6f 6b 20 | 66 6f 72 20 43 52 20 2a |/* Look |for CR *|
|00001d60| 2f 0d 09 73 68 6f 72 74 | 20 65 72 72 3b 09 09 09 |/..short| err;...|
|00001d70| 09 09 2f 2a 20 45 72 72 | 6f 72 20 63 6f 64 65 20 |../* Err|or code |
|00001d80| 2a 2f 0d 09 6c 6f 6e 67 | 20 6d 61 72 6b 20 3d 20 |*/..long| mark = |
|00001d90| 30 3b 09 09 09 09 2f 2a | 20 43 75 72 72 65 6e 74 |0;..../*| Current|
|00001da0| 20 66 69 6c 65 20 70 6f | 73 69 74 69 6f 6e 20 2a | file po|sition *|
|00001db0| 2f 0d 09 6c 6f 6e 67 20 | 74 69 6d 65 3b 09 09 09 |/..long |time;...|
|00001dc0| 09 09 2f 2a 20 48 6f 77 | 20 6c 6f 6e 67 20 69 74 |../* How| long it|
|00001dd0| 20 74 61 6b 65 73 20 2a | 2f 0d 0d 09 53 65 6e 64 | takes *|/...Send|
|00001de0| 69 6e 67 20 3d 20 54 52 | 55 45 3b 0d 09 43 6f 6e |ing = TR|UE;..Con|
|00001df0| 74 72 6f 6c 5f 58 20 3d | 20 46 41 4c 53 45 3b 0d |trol_X =| FALSE;.|
|00001e00| 09 53 65 74 49 74 65 6d | 53 74 79 6c 65 28 47 65 |.SetItem|Style(Ge|
|00001e10| 74 4d 65 6e 75 28 45 44 | 49 54 29 2c 20 50 41 53 |tMenu(ED|IT), PAS|
|00001e20| 54 45 2c 20 41 43 54 49 | 56 45 29 3b 0d 09 4d 61 |TE, ACTI|VE);..Ma|
|00001e30| 6b 65 4d 65 73 73 61 67 | 65 28 54 65 72 6d 69 6e |keMessag|e(Termin|
|00001e40| 61 6c 57 69 6e 64 6f 77 | 2c 0d 09 09 46 6f 72 6d |alWindow|,...Form|
|00001e50| 61 74 53 74 72 28 62 75 | 66 66 65 72 2c 20 4d 79 |atStr(bu|ffer, My|
|00001e60| 53 74 72 69 6e 67 28 53 | 54 52 5f 50 2c 20 50 5f |String(S|TR_P, P_|
|00001e70| 53 53 43 52 41 50 29 29 | 29 3b 0d 09 2f 2a 20 53 |SSCRAP))|);../* S|
|00001e80| 65 72 69 61 6c 48 61 6e | 64 73 68 61 6b 65 28 53 |erialHan|dshake(S|
|00001e90| 65 74 74 69 6e 67 73 2e | 68 61 6e 64 73 68 61 6b |ettings.|handshak|
|00001ea0| 65 29 3b 20 2a 2f 0d 09 | 69 66 20 28 53 65 74 74 |e); */..|if (Sett|
|00001eb0| 69 6e 67 73 2e 63 68 61 | 72 64 65 6c 61 79 29 20 |ings.cha|rdelay) |
|00001ec0| 7b 0d 09 09 72 65 71 20 | 3d 20 31 3b 0d 09 09 63 |{...req |= 1;...c|
|00001ed0| 72 20 3d 20 46 41 4c 53 | 45 3b 0d 09 7d 20 65 6c |r = FALS|E;..} el|
|00001ee0| 73 65 20 7b 0d 09 09 72 | 65 71 20 3d 20 73 69 7a |se {...r|eq = siz|
|00001ef0| 65 6f 66 28 62 75 66 66 | 65 72 29 20 2d 20 31 3b |eof(buff|er) - 1;|
|00001f00| 0d 09 09 63 72 20 3d 20 | 53 65 74 74 69 6e 67 73 |...cr = |Settings|
|00001f10| 2e 6c 69 6e 65 64 65 6c | 61 79 20 7c 7c 20 53 65 |.linedel|ay || Se|
|00001f20| 74 74 69 6e 67 73 2e 70 | 72 6f 6d 70 74 5b 30 5d |ttings.p|rompt[0]|
|00001f30| 20 7c 7c 20 53 65 74 74 | 69 6e 67 73 2e 61 75 74 | || Sett|ings.aut|
|00001f40| 6f 4c 46 3b 0d 09 7d 0d | 09 74 69 6d 65 20 3d 20 |oLF;..}.|.time = |
|00001f50| 54 69 6d 65 3b 0d 09 64 | 6f 20 7b 0d 09 09 63 6f |Time;..d|o {...co|
|00001f60| 75 6e 74 20 3d 20 28 72 | 65 71 20 3c 20 6e 29 20 |unt = (r|eq < n) |
|00001f70| 3f 20 72 65 71 20 3a 20 | 6e 3b 0d 09 09 69 66 20 |? req : |n;...if |
|00001f80| 28 63 72 29 20 7b 0d 09 | 09 09 42 79 74 65 20 2a |(cr) {..|..Byte *|
|00001f90| 73 31 3b 0d 09 09 09 69 | 66 20 28 73 31 20 3d 20 |s1;....i|f (s1 = |
|00001fa0| 6d 65 6d 63 68 72 28 73 | 2c 20 31 33 2c 20 63 6f |memchr(s|, 13, co|
|00001fb0| 75 6e 74 29 29 0d 09 09 | 09 09 63 6f 75 6e 74 20 |unt))...|..count |
|00001fc0| 3d 20 73 31 20 2d 20 73 | 20 2b 20 31 3b 0d 09 09 |= s1 - s| + 1;...|
|00001fd0| 7d 0d 09 09 6e 20 2d 3d | 20 63 6f 75 6e 74 3b 0d |}...n -=| count;.|
|00001fe0| 09 09 6d 65 6d 63 70 79 | 28 62 75 66 66 65 72 2c |..memcpy|(buffer,|
|00001ff0| 20 73 2c 20 63 6f 75 6e | 74 29 3b 0d 09 09 73 20 | s, coun|t);...s |
|00002000| 2b 3d 20 63 6f 75 6e 74 | 3b 0d 09 09 69 66 20 28 |+= count|;...if (|
|00002010| 63 6f 75 6e 74 29 20 7b | 0d 09 09 09 77 68 69 6c |count) {|....whil|
|00002020| 65 20 28 42 75 73 79 29 | 09 2f 2a 20 4f 74 68 65 |e (Busy)|./* Othe|
|00002030| 72 20 73 65 6e 64 20 69 | 6e 20 70 72 6f 67 72 65 |r send i|n progre|
|00002040| 73 73 20 2a 2f 0d 09 09 | 09 09 3b 0d 09 09 09 69 |ss */...|..;....i|
|00002050| 66 20 28 62 75 66 66 65 | 72 5b 63 6f 75 6e 74 2d |f (buffe|r[count-|
|00002060| 31 5d 20 3d 3d 20 27 5c | 30 31 35 27 29 20 7b 0d |1] == '\|015') {.|
|00002070| 09 09 09 09 69 66 20 28 | 53 65 74 74 69 6e 67 73 |....if (|Settings|
|00002080| 2e 61 75 74 6f 4c 46 29 | 0d 09 09 09 09 09 62 75 |.autoLF)|......bu|
|00002090| 66 66 65 72 5b 63 6f 75 | 6e 74 2b 2b 5d 20 3d 20 |ffer[cou|nt++] = |
|000020a0| 27 5c 30 31 32 27 3b 0d | 09 09 09 09 53 65 72 69 |'\012';.|....Seri|
|000020b0| 61 6c 53 65 6e 64 28 62 | 75 66 66 65 72 2c 20 63 |alSend(b|uffer, c|
|000020c0| 6f 75 6e 74 2c 20 26 42 | 75 73 79 29 3b 0d 09 09 |ount, &B|usy);...|
|000020d0| 09 09 69 66 20 28 53 65 | 74 74 69 6e 67 73 2e 6c |..if (Se|ttings.l|
|000020e0| 6f 63 61 6c 45 63 68 6f | 29 0d 09 09 09 09 09 4e |ocalEcho|)......N|
|000020f0| 65 77 43 68 61 72 61 63 | 74 65 72 73 28 62 75 66 |ewCharac|ters(buf|
|00002100| 66 65 72 2c 20 63 6f 75 | 6e 74 2c 20 46 41 4c 53 |fer, cou|nt, FALS|
|00002110| 45 29 3b 0d 09 09 09 09 | 69 66 20 28 53 65 74 74 |E);.....|if (Sett|
|00002120| 69 6e 67 73 2e 6c 69 6e | 65 64 65 6c 61 79 20 7c |ings.lin|edelay ||
|00002130| 7c 20 53 65 74 74 69 6e | 67 73 2e 70 72 6f 6d 70 || Settin|gs.promp|
|00002140| 74 5b 30 5d 29 0d 09 09 | 09 09 09 4c 6f 6f 70 28 |t[0])...|...Loop(|
|00002150| 53 65 74 74 69 6e 67 73 | 2e 6c 69 6e 65 64 65 6c |Settings|.linedel|
|00002160| 61 79 2c 20 53 65 74 74 | 69 6e 67 73 2e 70 72 6f |ay, Sett|ings.pro|
|00002170| 6d 70 74 2c 20 31 29 3b | 0d 09 09 09 09 65 6c 73 |mpt, 1);|.....els|
|00002180| 65 0d 09 09 09 09 09 43 | 68 65 63 6b 45 76 65 6e |e......C|heckEven|
|00002190| 74 73 28 29 3b 0d 09 09 | 09 7d 20 65 6c 73 65 20 |ts();...|.} else |
|000021a0| 7b 0d 09 09 09 09 53 65 | 72 69 61 6c 53 65 6e 64 |{.....Se|rialSend|
|000021b0| 28 62 75 66 66 65 72 2c | 20 63 6f 75 6e 74 2c 20 |(buffer,| count, |
|000021c0| 26 42 75 73 79 29 3b 0d | 09 09 09 09 69 66 20 28 |&Busy);.|....if (|
|000021d0| 53 65 74 74 69 6e 67 73 | 2e 6c 6f 63 61 6c 45 63 |Settings|.localEc|
|000021e0| 68 6f 29 0d 09 09 09 09 | 09 4e 65 77 43 68 61 72 |ho).....|.NewChar|
|000021f0| 61 63 74 65 72 73 28 62 | 75 66 66 65 72 2c 20 63 |acters(b|uffer, c|
|00002200| 6f 75 6e 74 2c 20 46 41 | 4c 53 45 29 3b 0d 09 09 |ount, FA|LSE);...|
|00002210| 09 09 69 66 20 28 53 65 | 74 74 69 6e 67 73 2e 63 |..if (Se|ttings.c|
|00002220| 68 61 72 64 65 6c 61 79 | 29 0d 09 09 09 09 09 4c |hardelay|)......L|
|00002230| 6f 6f 70 28 53 65 74 74 | 69 6e 67 73 2e 63 68 61 |oop(Sett|ings.cha|
|00002240| 72 64 65 6c 61 79 2c 20 | 30 2c 20 30 29 3b 0d 09 |rdelay, |0, 0);..|
|00002250| 09 09 09 65 6c 73 65 0d | 09 09 09 09 09 43 68 65 |...else.|.....Che|
|00002260| 63 6b 45 76 65 6e 74 73 | 28 29 3b 0d 09 09 09 7d |ckEvents|();....}|
|00002270| 0d 09 09 09 6d 61 72 6b | 20 2b 3d 20 63 6f 75 6e |....mark| += coun|
|00002280| 74 3b 0d 09 09 7d 0d 09 | 7d 20 77 68 69 6c 65 20 |t;...}..|} while |
|00002290| 28 6e 20 26 26 20 53 65 | 6e 64 69 6e 67 29 3b 0d |(n && Se|nding);.|
|000022a0| 09 69 66 20 28 21 6e 29 | 0d 09 09 65 72 72 20 3d |.if (!n)|...err =|
|000022b0| 20 6e 6f 45 72 72 3b 0d | 09 69 66 20 28 21 53 65 | noErr;.|.if (!Se|
|000022c0| 6e 64 69 6e 67 29 0d 09 | 09 65 72 72 20 3d 20 43 |nding)..|.err = C|
|000022d0| 6f 6e 74 72 6f 6c 5f 58 | 20 3f 20 41 42 4f 52 54 |ontrol_X| ? ABORT|
|000022e0| 20 3a 20 43 41 4e 43 45 | 4c 3b 0d 09 2f 2a 20 53 | : CANCE|L;../* S|
|000022f0| 74 61 74 69 73 74 69 63 | 73 28 6d 61 72 6b 2c 20 |tatistic|s(mark, |
|00002300| 74 69 6d 65 20 3d 20 54 | 69 6d 65 20 2d 20 74 69 |time = T|ime - ti|
|00002310| 6d 65 2c 20 65 72 72 29 | 3b 20 2a 2f 0d 09 53 65 |me, err)|; */..Se|
|00002320| 74 49 74 65 6d 53 74 79 | 6c 65 28 47 65 74 4d 65 |tItemSty|le(GetMe|
|00002330| 6e 75 28 45 44 49 54 29 | 2c 20 50 41 53 54 45 2c |nu(EDIT)|, PASTE,|
|00002340| 20 30 29 3b 0d 09 53 65 | 6e 64 69 6e 67 20 3d 20 | 0);..Se|nding = |
|00002350| 46 41 4c 53 45 3b 0d 09 | 43 6f 6e 74 72 6f 6c 5f |FALSE;..|Control_|
|00002360| 58 20 3d 20 46 41 4c 53 | 45 3b 0d 09 2f 2a 20 53 |X = FALS|E;../* S|
|00002370| 65 72 69 61 6c 48 61 6e | 64 73 68 61 6b 65 28 30 |erialHan|dshake(0|
|00002380| 29 3b 20 2a 2f 0d 09 72 | 65 74 75 72 6e 20 65 72 |); */..r|eturn er|
|00002390| 72 3b 0d 7d 0d 0d 2f 2a | 20 2d 2d 2d 2d 2d 20 53 |r;.}../*| ----- S|
|000023a0| 65 6e 64 20 54 45 58 54 | 20 66 72 6f 6d 20 73 63 |end TEXT| from sc|
|000023b0| 72 61 70 20 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |rap ----|--------|
|000023c0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000023d0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 20 2a |--------|------ *|
|000023e0| 2f 0d 0d 76 6f 69 64 20 | 53 65 6e 64 53 63 72 61 |/..void |SendScra|
|000023f0| 70 28 76 6f 69 64 29 0d | 7b 0d 09 72 65 67 69 73 |p(void).|{..regis|
|00002400| 74 65 72 20 48 61 6e 64 | 6c 65 20 68 3b 0d 09 72 |ter Hand|le h;..r|
|00002410| 65 67 69 73 74 65 72 20 | 6c 6f 6e 67 20 65 72 72 |egister |long err|
|00002420| 3b 0d 09 6c 6f 6e 67 20 | 6f 66 66 73 65 74 3b 0d |;..long |offset;.|
|00002430| 0d 09 69 66 20 28 54 72 | 61 6e 73 66 65 72 29 20 |..if (Tr|ansfer) |
|00002440| 7b 0d 09 09 53 79 73 42 | 65 65 70 28 31 29 3b 0d |{...SysB|eep(1);.|
|00002450| 09 09 72 65 74 75 72 6e | 3b 0d 09 7d 0d 09 69 66 |..return|;..}..if|
|00002460| 20 28 53 65 6e 64 69 6e | 67 29 20 7b 0d 09 09 53 | (Sendin|g) {...S|
|00002470| 65 72 69 61 6c 41 62 6f | 72 74 28 29 3b 0d 09 09 |erialAbo|rt();...|
|00002480| 53 65 6e 64 69 6e 67 20 | 3d 20 46 41 4c 53 45 3b |Sending |= FALSE;|
|00002490| 0d 09 7d 20 65 6c 73 65 | 20 7b 0d 09 09 69 66 20 |..} else| {...if |
|000024a0| 28 68 20 3d 20 4e 65 77 | 48 61 6e 64 6c 65 28 30 |(h = New|Handle(0|
|000024b0| 29 29 20 7b 0d 09 09 09 | 69 66 20 28 28 65 72 72 |)) {....|if ((err|
|000024c0| 20 3d 20 47 65 74 53 63 | 72 61 70 28 68 2c 54 45 | = GetSc|rap(h,TE|
|000024d0| 58 54 2c 26 6f 66 66 73 | 65 74 29 29 20 3e 20 30 |XT,&offs|et)) > 0|
|000024e0| 29 20 7b 0d 09 09 09 09 | 48 4c 6f 63 6b 28 68 29 |) {.....|HLock(h)|
|000024f0| 3b 0d 09 09 09 09 54 79 | 70 65 54 65 78 74 28 28 |;.....Ty|peText((|
|00002500| 42 79 74 65 20 2a 29 2a | 68 2c 20 65 72 72 29 3b |Byte *)*|h, err);|
|00002510| 0d 09 09 09 09 65 72 72 | 20 3d 20 6e 6f 45 72 72 |.....err| = noErr|
|00002520| 3b 0d 09 09 09 7d 0d 09 | 09 09 44 69 73 70 6f 73 |;....}..|..Dispos|
|00002530| 48 61 6e 64 6c 65 28 68 | 29 3b 0d 09 09 7d 20 65 |Handle(h|);...} e|
|00002540| 6c 73 65 0d 09 09 09 65 | 72 72 20 3d 20 6d 65 6d |lse....e|rr = mem|
|00002550| 46 75 6c 6c 45 72 72 3b | 0d 09 09 69 66 20 28 65 |FullErr;|...if (e|
|00002560| 72 72 29 0d 09 09 09 45 | 72 72 6f 72 28 65 72 72 |rr)....E|rror(err|
|00002570| 2c 20 45 6d 70 74 79 53 | 74 72 29 3b 0d 09 7d 0d |, EmptyS|tr);..}.|
|00002580| 7d 0d 0d 2f 2a 20 2d 2d | 2d 2d 2d 20 52 65 63 65 |}../* --|--- Rece|
|00002590| 69 76 65 20 66 69 6c 65 | 20 2d 2d 2d 2d 2d 2d 2d |ive file| -------|
|000025a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000025b0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000025c0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 20 2a 2f 0d 0d |--------|--- */..|
|000025d0| 76 6f 69 64 20 46 69 6c | 65 52 65 63 65 69 76 65 |void Fil|eReceive|
|000025e0| 28 76 6f 69 64 29 0d 7b | 0d 09 72 65 67 69 73 74 |(void).{|..regist|
|000025f0| 65 72 20 73 68 6f 72 74 | 20 65 72 72 3b 0d 09 53 |er short| err;..S|
|00002600| 46 52 65 70 6c 79 20 73 | 66 72 3b 0d 0d 09 69 66 |FReply s|fr;...if|
|00002610| 20 28 53 65 6e 64 69 6e | 67 29 20 7b 0d 09 09 53 | (Sendin|g) {...S|
|00002620| 79 73 42 65 65 70 28 31 | 29 3b 0d 09 09 72 65 74 |ysBeep(1|);...ret|
|00002630| 75 72 6e 3b 0d 09 7d 0d | 09 69 66 20 28 21 54 72 |urn;..}.|.if (!Tr|
|00002640| 61 6e 73 66 65 72 29 20 | 7b 0d 09 09 69 66 20 28 |ansfer) |{...if (|
|00002650| 53 65 74 74 69 6e 67 73 | 2e 5a 4d 6f 64 65 6d 29 |Settings|.ZModem)|
|00002660| 20 7b 0d 09 09 09 65 72 | 72 20 3d 20 5a 52 65 63 | {....er|r = ZRec|
|00002670| 65 69 76 65 28 29 3b 0d | 09 09 09 55 6e 6c 6f 61 |eive();.|...Unloa|
|00002680| 64 53 65 67 28 5a 52 65 | 63 65 69 76 65 29 3b 0d |dSeg(ZRe|ceive);.|
|00002690| 09 09 7d 20 65 6c 73 65 | 0d 09 09 09 69 66 20 28 |..} else|....if (|
|000026a0| 53 65 74 74 69 6e 67 73 | 2e 62 61 74 63 68 29 20 |Settings|.batch) |
|000026b0| 7b 0d 09 09 09 09 65 72 | 72 20 3d 20 58 52 65 63 |{.....er|r = XRec|
|000026c0| 65 69 76 65 28 45 6d 70 | 74 79 53 74 72 2c 20 30 |eive(Emp|tyStr, 0|
|000026d0| 2c 20 30 29 3b 0d 09 09 | 09 09 55 6e 6c 6f 61 64 |, 0);...|..Unload|
|000026e0| 53 65 67 28 58 52 65 63 | 65 69 76 65 29 3b 0d 09 |Seg(XRec|eive);..|
|000026f0| 09 09 7d 20 65 6c 73 65 | 20 7b 0d 09 09 09 09 4d |..} else| {.....M|
|00002700| 79 53 46 50 75 74 46 69 | 6c 65 28 4d 79 53 74 72 |ySFPutFi|le(MyStr|
|00002710| 69 6e 67 28 53 54 52 5f | 47 2c 20 47 5f 52 45 43 |ing(STR_|G, G_REC|
|00002720| 45 49 56 45 29 2c 0d 09 | 09 09 09 09 4d 79 53 74 |EIVE),..|....MySt|
|00002730| 72 69 6e 67 28 53 54 52 | 5f 47 2c 20 47 5f 53 46 |ring(STR|_G, G_SF|
|00002740| 52 45 43 45 49 56 45 29 | 2c 0d 09 09 09 09 09 4d |RECEIVE)|,......M|
|00002750| 79 53 74 72 69 6e 67 28 | 53 54 52 5f 47 2c 20 47 |yString(|STR_G, G|
|00002760| 5f 44 4f 57 4e 4c 4f 41 | 44 29 2c 20 26 73 66 72 |_DOWNLOA|D), &sfr|
|00002770| 29 3b 0d 09 09 09 09 52 | 65 64 72 61 77 44 6f 63 |);.....R|edrawDoc|
|00002780| 75 6d 65 6e 74 28 29 3b | 0d 09 09 09 09 69 66 20 |ument();|.....if |
|00002790| 28 73 66 72 2e 67 6f 6f | 64 29 20 7b 0d 09 09 09 |(sfr.goo|d) {....|
|000027a0| 09 09 44 65 6c 65 74 65 | 46 69 6c 65 28 73 66 72 |..Delete|File(sfr|
|000027b0| 2e 76 52 65 66 4e 75 6d | 2c 20 30 2c 20 28 42 79 |.vRefNum|, 0, (By|
|000027c0| 74 65 20 2a 29 73 66 72 | 2e 66 4e 61 6d 65 29 3b |te *)sfr|.fName);|
|000027d0| 0d 09 09 09 09 09 65 72 | 72 20 3d 20 58 52 65 63 |......er|r = XRec|
|000027e0| 65 69 76 65 28 28 42 79 | 74 65 20 2a 29 73 66 72 |eive((By|te *)sfr|
|000027f0| 2e 66 4e 61 6d 65 2c 20 | 73 66 72 2e 76 52 65 66 |.fName, |sfr.vRef|
|00002800| 4e 75 6d 2c 20 30 29 3b | 0d 09 09 09 09 09 55 6e |Num, 0);|......Un|
|00002810| 6c 6f 61 64 53 65 67 28 | 58 52 65 63 65 69 76 65 |loadSeg(|XReceive|
|00002820| 29 3b 0d 09 09 09 09 7d | 0d 09 09 09 7d 0d 09 7d |);.....}|....}..}|
|00002830| 20 65 6c 73 65 0d 09 09 | 54 72 61 6e 73 66 65 72 | else...|Transfer|
|00002840| 20 3d 20 30 3b 09 2f 2a | 20 43 61 6e 63 65 6c 20 | = 0;./*| Cancel |
|00002850| 74 72 61 6e 73 66 65 72 | 20 2a 2f 0d 7d 0d 0d 2f |transfer| */.}../|
|00002860| 2a 20 2d 2d 2d 2d 2d 20 | 54 72 61 6e 73 6d 69 74 |* ----- |Transmit|
|00002870| 20 66 69 6c 65 20 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d | file --|--------|
|00002880| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002890| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000028a0| 2d 2d 2d 2d 2d 2d 2d 20 | 2a 2f 0d 0d 76 6f 69 64 |------- |*/..void|
|000028b0| 20 46 69 6c 65 54 72 61 | 6e 73 6d 69 74 28 76 6f | FileTra|nsmit(vo|
|000028c0| 69 64 29 0d 7b 0d 09 72 | 65 67 69 73 74 65 72 20 |id).{..r|egister |
|000028d0| 73 68 6f 72 74 20 65 72 | 72 3b 0d 09 53 46 52 65 |short er|r;..SFRe|
|000028e0| 70 6c 79 20 73 66 72 3b | 0d 0d 09 69 66 20 28 53 |ply sfr;|...if (S|
|000028f0| 65 6e 64 69 6e 67 29 20 | 7b 0d 09 09 53 79 73 42 |ending) |{...SysB|
|00002900| 65 65 70 28 31 29 3b 0d | 09 09 72 65 74 75 72 6e |eep(1);.|..return|
|00002910| 3b 0d 09 7d 0d 09 69 66 | 20 28 21 54 72 61 6e 73 |;..}..if| (!Trans|
|00002920| 66 65 72 29 20 7b 0d 09 | 09 4d 79 53 46 47 65 74 |fer) {..|.MySFGet|
|00002930| 46 69 6c 65 20 28 4d 79 | 53 74 72 69 6e 67 28 53 |File (My|String(S|
|00002940| 54 52 5f 47 2c 20 47 5f | 54 52 41 4e 53 4d 49 54 |TR_G, G_|TRANSMIT|
|00002950| 29 2c 20 30 2c 20 2d 31 | 2c 20 30 2c 20 26 73 66 |), 0, -1|, 0, &sf|
|00002960| 72 2c 20 30 29 3b 0d 09 | 09 52 65 64 72 61 77 44 |r, 0);..|.RedrawD|
|00002970| 6f 63 75 6d 65 6e 74 28 | 29 3b 0d 09 09 69 66 20 |ocument(|);...if |
|00002980| 28 73 66 72 2e 67 6f 6f | 64 29 20 7b 0d 09 09 09 |(sfr.goo|d) {....|
|00002990| 69 66 20 28 53 65 74 74 | 69 6e 67 73 2e 5a 4d 6f |if (Sett|ings.ZMo|
|000029a0| 64 65 6d 29 20 7b 0d 09 | 09 09 09 65 72 72 20 3d |dem) {..|...err =|
|000029b0| 20 5a 54 72 61 6e 73 6d | 69 74 28 28 42 79 74 65 | ZTransm|it((Byte|
|000029c0| 20 2a 29 73 66 72 2e 66 | 4e 61 6d 65 2c 20 73 66 | *)sfr.f|Name, sf|
|000029d0| 72 2e 76 52 65 66 4e 75 | 6d 2c 20 30 29 3b 0d 09 |r.vRefNu|m, 0);..|
|000029e0| 09 09 09 55 6e 6c 6f 61 | 64 53 65 67 28 5a 54 72 |...Unloa|dSeg(ZTr|
|000029f0| 61 6e 73 6d 69 74 29 3b | 0d 09 09 09 7d 20 65 6c |ansmit);|....} el|
|00002a00| 73 65 20 7b 0d 09 09 09 | 09 65 72 72 20 3d 20 58 |se {....|.err = X|
|00002a10| 54 72 61 6e 73 6d 69 74 | 28 28 42 79 74 65 20 2a |Transmit|((Byte *|
|00002a20| 29 73 66 72 2e 66 4e 61 | 6d 65 2c 20 73 66 72 2e |)sfr.fNa|me, sfr.|
|00002a30| 76 52 65 66 4e 75 6d 2c | 20 30 29 3b 0d 09 09 09 |vRefNum,| 0);....|
|00002a40| 09 55 6e 6c 6f 61 64 53 | 65 67 28 58 54 72 61 6e |.UnloadS|eg(XTran|
|00002a50| 73 6d 69 74 29 3b 0d 09 | 09 09 7d 0d 09 09 7d 0d |smit);..|..}...}.|
|00002a60| 09 7d 20 65 6c 73 65 0d | 09 09 54 72 61 6e 73 66 |.} else.|..Transf|
|00002a70| 65 72 20 3d 20 30 3b 09 | 2f 2a 20 43 61 6e 63 65 |er = 0;.|/* Cance|
|00002a80| 6c 20 74 72 61 6e 73 66 | 65 72 20 2a 2f 0d 7d 0d |l transf|er */.}.|
|00002a90| 0d 2f 2a 20 2d 2d 2d 2d | 2d 20 4d 61 6b 65 20 4d |./* ----|- Make M|
|00002aa0| 61 63 42 69 6e 61 72 79 | 20 66 69 6c 65 20 2d 2d |acBinary| file --|
|00002ab0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002ac0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002ad0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 20 2a 2f 0d 0d 73 68 |--------|- */..sh|
|00002ae0| 6f 72 74 20 43 6f 6e 76 | 65 72 74 28 0d 09 73 68 |ort Conv|ert(..sh|
|00002af0| 6f 72 74 20 76 6f 6c 75 | 6d 65 31 2c 20 6c 6f 6e |ort volu|me1, lon|
|00002b00| 67 20 64 69 72 31 2c 20 | 42 79 74 65 20 2a 6e 61 |g dir1, |Byte *na|
|00002b10| 6d 65 31 2c 0d 09 73 68 | 6f 72 74 20 76 6f 6c 75 |me1,..sh|ort volu|
|00002b20| 6d 65 32 2c 20 6c 6f 6e | 67 20 64 69 72 32 2c 20 |me2, lon|g dir2, |
|00002b30| 42 79 74 65 20 2a 6e 61 | 6d 65 32 29 0d 7b 0d 09 |Byte *na|me2).{..|
|00002b40| 72 65 67 69 73 74 65 72 | 20 73 68 6f 72 74 20 65 |register| short e|
|00002b50| 72 72 2c 20 65 72 72 32 | 3b 0d 09 72 65 67 69 73 |rr, err2|;..regis|
|00002b60| 74 65 72 20 48 61 6e 64 | 6c 65 20 62 75 66 3b 0d |ter Hand|le buf;.|
|00002b70| 09 72 65 67 69 73 74 65 | 72 20 75 6e 73 69 67 6e |.registe|r unsign|
|00002b80| 65 64 20 6c 6f 6e 67 20 | 73 69 7a 65 3b 0d 09 42 |ed long |size;..B|
|00002b90| 6f 6f 6c 65 61 6e 20 6d | 66 3b 0d 09 73 68 6f 72 |oolean m|f;..shor|
|00002ba0| 74 20 72 65 66 32 3b 0d | 09 6c 6f 6e 67 20 63 6f |t ref2;.|.long co|
|00002bb0| 75 6e 74 3b 0d 0d 09 69 | 66 20 28 28 65 72 72 20 |unt;...i|f ((err |
|00002bc0| 3d 20 42 69 6e 4f 70 65 | 6e 52 65 61 64 28 76 6f |= BinOpe|nRead(vo|
|00002bd0| 6c 75 6d 65 31 2c 20 64 | 69 72 31 2c 20 6e 61 6d |lume1, d|ir1, nam|
|00002be0| 65 31 29 29 20 7c 7c 0d | 09 09 09 28 65 72 72 20 |e1)) ||.|...(err |
|00002bf0| 3d 20 43 72 65 61 74 65 | 46 69 6c 65 28 76 6f 6c |= Create|File(vol|
|00002c00| 75 6d 65 32 2c 20 64 69 | 72 32 2c 20 6e 61 6d 65 |ume2, di|r2, name|
|00002c10| 32 2c 20 41 70 70 6c 69 | 63 61 74 69 6f 6e 2e 73 |2, Appli|cation.s|
|00002c20| 69 67 6e 61 74 75 72 65 | 2c 0d 09 09 09 09 41 70 |ignature|,.....Ap|
|00002c30| 70 6c 69 63 61 74 69 6f | 6e 2e 62 74 79 70 65 29 |plicatio|n.btype)|
|00002c40| 29 20 7c 7c 0d 09 09 09 | 28 65 72 72 20 3d 20 4f |) ||....|(err = O|
|00002c50| 70 65 6e 46 69 6c 65 28 | 76 6f 6c 75 6d 65 32 2c |penFile(|volume2,|
|00002c60| 20 64 69 72 32 2c 20 6e | 61 6d 65 32 2c 20 26 72 | dir2, n|ame2, &r|
|00002c70| 65 66 32 29 29 29 0d 09 | 09 72 65 74 75 72 6e 20 |ef2)))..|.return |
|00002c80| 65 72 72 3b 0d 09 69 66 | 20 28 28 73 69 7a 65 20 |err;..if| ((size |
|00002c90| 3d 20 4d 61 78 42 75 66 | 66 65 72 28 26 6d 66 29 |= MaxBuf|fer(&mf)|
|00002ca0| 29 20 3c 20 31 32 38 20 | 7c 7c 20 21 28 62 75 66 |) < 128 ||| !(buf|
|00002cb0| 20 3d 20 4e 65 77 42 75 | 66 66 65 72 28 73 69 7a | = NewBu|ffer(siz|
|00002cc0| 65 2c 20 6d 66 29 29 29 | 0d 09 09 72 65 74 75 72 |e, mf)))|...retur|
|00002cd0| 6e 20 6d 65 6d 46 75 6c | 6c 45 72 72 3b 0d 09 65 |n memFul|lErr;..e|
|00002ce0| 72 72 32 20 3d 20 30 3b | 0d 09 64 6f 20 7b 0d 09 |rr2 = 0;|..do {..|
|00002cf0| 09 63 6f 75 6e 74 20 3d | 20 73 69 7a 65 3b 0d 09 |.count =| size;..|
|00002d00| 09 69 66 20 28 21 28 65 | 72 72 20 3d 20 42 69 6e |.if (!(e|rr = Bin|
|00002d10| 52 65 61 64 28 26 63 6f | 75 6e 74 2c 20 28 42 79 |Read(&co|unt, (By|
|00002d20| 74 65 20 2a 29 2a 62 75 | 66 29 29 20 7c 7c 20 65 |te *)*bu|f)) || e|
|00002d30| 72 72 20 3d 3d 20 65 6f | 66 45 72 72 29 0d 09 09 |rr == eo|fErr)...|
|00002d40| 09 65 72 72 32 20 3d 20 | 46 53 57 72 69 74 65 28 |.err2 = |FSWrite(|
|00002d50| 72 65 66 32 2c 20 26 63 | 6f 75 6e 74 2c 20 2a 62 |ref2, &c|ount, *b|
|00002d60| 75 66 29 3b 0d 09 7d 20 | 77 68 69 6c 65 28 21 65 |uf);..} |while(!e|
|00002d70| 72 72 20 26 26 20 21 65 | 72 72 32 29 3b 0d 09 44 |rr && !e|rr2);..D|
|00002d80| 69 73 70 6f 73 65 42 75 | 66 66 65 72 28 62 75 66 |isposeBu|ffer(buf|
|00002d90| 2c 20 6d 66 29 3b 0d 09 | 42 69 6e 43 6c 6f 73 65 |, mf);..|BinClose|
|00002da0| 52 65 61 64 28 29 3b 0d | 09 46 53 43 6c 6f 73 65 |Read();.|.FSClose|
|00002db0| 28 72 65 66 32 29 3b 0d | 09 46 6c 75 73 68 56 6f |(ref2);.|.FlushVo|
|00002dc0| 6c 28 30 2c 20 76 6f 6c | 75 6d 65 32 29 3b 0d 09 |l(0, vol|ume2);..|
|00002dd0| 69 66 20 28 65 72 72 20 | 3d 3d 20 65 6f 66 45 72 |if (err |== eofEr|
|00002de0| 72 29 0d 09 09 65 72 72 | 20 3d 20 30 3b 0d 09 72 |r)...err| = 0;..r|
|00002df0| 65 74 75 72 6e 20 65 72 | 72 32 20 3f 20 65 72 72 |eturn er|r2 ? err|
|00002e00| 32 20 3a 20 65 72 72 3b | 0d 7d 0d 0d 76 6f 69 64 |2 : err;|.}..void|
|00002e10| 20 4d 61 6b 65 28 76 6f | 69 64 29 0d 7b 0d 09 53 | Make(vo|id).{..S|
|00002e20| 46 52 65 70 6c 79 20 72 | 31 2c 20 72 32 3b 0d 09 |FReply r|1, r2;..|
|00002e30| 72 65 67 69 73 74 65 72 | 20 42 79 74 65 20 2a 73 |register| Byte *s|
|00002e40| 75 66 66 69 78 3b 0d 09 | 72 65 67 69 73 74 65 72 |uffix;..|register|
|00002e50| 20 42 79 74 65 20 6e 61 | 6d 65 5b 32 35 36 5d 3b | Byte na|me[256];|
|00002e60| 0d 09 72 65 67 69 73 74 | 65 72 20 6c 6f 6e 67 20 |..regist|er long |
|00002e70| 6e 3b 0d 09 72 65 67 69 | 73 74 65 72 20 73 68 6f |n;..regi|ster sho|
|00002e80| 72 74 20 65 72 72 3b 0d | 0d 09 73 75 66 66 69 78 |rt err;.|..suffix|
|00002e90| 20 3d 20 4d 79 53 74 72 | 69 6e 67 28 53 54 52 5f | = MyStr|ing(STR_|
|00002ea0| 47 2c 20 47 5f 42 49 4e | 29 3b 0d 09 4d 79 53 46 |G, G_BIN|);..MySF|
|00002eb0| 47 65 74 46 69 6c 65 28 | 4d 79 53 74 72 69 6e 67 |GetFile(|MyString|
|00002ec0| 28 53 54 52 5f 47 2c 20 | 47 5f 4d 41 4b 45 29 2c |(STR_G, |G_MAKE),|
|00002ed0| 20 30 2c 20 2d 31 2c 20 | 30 2c 20 26 72 31 2c 20 | 0, -1, |0, &r1, |
|00002ee0| 30 29 3b 0d 09 69 66 20 | 28 21 72 31 2e 67 6f 6f |0);..if |(!r1.goo|
|00002ef0| 64 29 0d 09 09 72 65 74 | 75 72 6e 3b 0d 09 52 65 |d)...ret|urn;..Re|
|00002f00| 64 72 61 77 44 6f 63 75 | 6d 65 6e 74 28 29 3b 0d |drawDocu|ment();.|
|00002f10| 09 6d 65 6d 63 70 79 28 | 6e 61 6d 65 2c 20 72 31 |.memcpy(|name, r1|
|00002f20| 2e 66 4e 61 6d 65 2c 20 | 6e 20 3d 20 28 72 31 2e |.fName, |n = (r1.|
|00002f30| 66 4e 61 6d 65 5b 30 5d | 20 2b 20 31 29 29 3b 0d |fName[0]| + 1));.|
|00002f40| 09 6d 65 6d 63 70 79 28 | 6e 61 6d 65 20 2b 20 6e |.memcpy(|name + n|
|00002f50| 2c 20 73 75 66 66 69 78 | 20 2b 20 31 2c 20 73 75 |, suffix| + 1, su|
|00002f60| 66 66 69 78 5b 30 5d 29 | 3b 0d 09 6e 61 6d 65 5b |ffix[0])|;..name[|
|00002f70| 30 5d 20 2b 3d 20 73 75 | 66 66 69 78 5b 30 5d 3b |0] += su|ffix[0];|
|00002f80| 0d 09 4d 79 53 46 50 75 | 74 46 69 6c 65 28 4d 79 |..MySFPu|tFile(My|
|00002f90| 53 74 72 69 6e 67 28 53 | 54 52 5f 47 2c 20 47 5f |String(S|TR_G, G_|
|00002fa0| 53 41 56 45 29 2c 20 4d | 79 53 74 72 69 6e 67 28 |SAVE), M|yString(|
|00002fb0| 53 54 52 5f 47 2c 20 47 | 5f 4d 41 4b 45 4e 41 4d |STR_G, G|_MAKENAM|
|00002fc0| 45 29 2c 0d 09 09 6e 61 | 6d 65 2c 20 26 72 32 29 |E),...na|me, &r2)|
|00002fd0| 3b 0d 09 69 66 20 28 21 | 72 32 2e 67 6f 6f 64 29 |;..if (!|r2.good)|
|00002fe0| 0d 09 09 72 65 74 75 72 | 6e 3b 0d 09 52 65 64 72 |...retur|n;..Redr|
|00002ff0| 61 77 44 6f 63 75 6d 65 | 6e 74 28 29 3b 0d 09 44 |awDocume|nt();..D|
|00003000| 65 6c 65 74 65 46 69 6c | 65 28 72 32 2e 76 52 65 |eleteFil|e(r2.vRe|
|00003010| 66 4e 75 6d 2c 20 30 2c | 20 28 42 79 74 65 20 2a |fNum, 0,| (Byte *|
|00003020| 29 72 32 2e 66 4e 61 6d | 65 29 3b 0d 09 69 66 20 |)r2.fNam|e);..if |
|00003030| 28 65 72 72 20 3d 20 43 | 6f 6e 76 65 72 74 28 72 |(err = C|onvert(r|
|00003040| 31 2e 76 52 65 66 4e 75 | 6d 2c 20 30 2c 20 28 42 |1.vRefNu|m, 0, (B|
|00003050| 79 74 65 20 2a 29 72 31 | 2e 66 4e 61 6d 65 2c 0d |yte *)r1|.fName,.|
|00003060| 09 09 09 72 32 2e 76 52 | 65 66 4e 75 6d 2c 20 30 |...r2.vR|efNum, 0|
|00003070| 2c 20 28 42 79 74 65 20 | 2a 29 72 32 2e 66 4e 61 |, (Byte |*)r2.fNa|
|00003080| 6d 65 29 29 0d 09 09 45 | 72 72 6f 72 28 65 72 72 |me))...E|rror(err|
|00003090| 2c 20 45 6d 70 74 79 53 | 74 72 29 3b 0d 7d 0d 0d |, EmptyS|tr);.}..|
|000030a0| 2f 2a 20 2d 2d 2d 2d 2d | 20 45 78 74 72 61 63 74 |/* -----| Extract|
|000030b0| 20 66 72 6f 6d 20 4d 61 | 63 42 69 6e 61 72 79 20 | from Ma|cBinary |
|000030c0| 66 69 6c 65 20 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |file ---|--------|
|000030d0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000030e0| 2d 2d 2d 2d 2d 2d 2d 2d | 20 2a 2f 0d 0d 73 68 6f |--------| */..sho|
|000030f0| 72 74 20 43 6f 70 79 46 | 69 6c 65 28 72 65 67 69 |rt CopyF|ile(regi|
|00003100| 73 74 65 72 20 73 68 6f | 72 74 20 72 65 66 31 29 |ster sho|rt ref1)|
|00003110| 0d 7b 0d 09 72 65 67 69 | 73 74 65 72 20 73 68 6f |.{..regi|ster sho|
|00003120| 72 74 20 65 72 72 2c 20 | 65 72 72 32 3b 0d 09 6c |rt err, |err2;..l|
|00003130| 6f 6e 67 20 63 6f 75 6e | 74 3b 0d 09 72 65 67 69 |ong coun|t;..regi|
|00003140| 73 74 65 72 20 48 61 6e | 64 6c 65 20 62 75 66 3b |ster Han|dle buf;|
|00003150| 0d 09 72 65 67 69 73 74 | 65 72 20 75 6e 73 69 67 |..regist|er unsig|
|00003160| 6e 65 64 20 6c 6f 6e 67 | 20 73 69 7a 65 3b 0d 09 |ned long| size;..|
|00003170| 42 6f 6f 6c 65 61 6e 20 | 6d 66 3b 0d 0d 09 69 66 |Boolean |mf;...if|
|00003180| 20 28 28 73 69 7a 65 20 | 3d 20 4d 61 78 42 75 66 | ((size |= MaxBuf|
|00003190| 66 65 72 28 26 6d 66 29 | 29 20 3c 20 31 32 38 20 |fer(&mf)|) < 128 |
|000031a0| 7c 7c 20 21 28 62 75 66 | 20 3d 20 4e 65 77 42 75 ||| !(buf| = NewBu|
|000031b0| 66 66 65 72 28 73 69 7a | 65 2c 20 6d 66 29 29 29 |ffer(siz|e, mf)))|
|000031c0| 0d 09 09 72 65 74 75 72 | 6e 20 6d 65 6d 46 75 6c |...retur|n memFul|
|000031d0| 6c 45 72 72 3b 0d 09 65 | 72 72 32 20 3d 20 30 3b |lErr;..e|rr2 = 0;|
|000031e0| 0d 09 64 6f 20 7b 0d 09 | 09 63 6f 75 6e 74 20 3d |..do {..|.count =|
|000031f0| 20 73 69 7a 65 3b 0d 09 | 09 69 66 20 28 21 28 65 | size;..|.if (!(e|
|00003200| 72 72 20 3d 20 46 53 52 | 65 61 64 28 72 65 66 31 |rr = FSR|ead(ref1|
|00003210| 2c 20 26 63 6f 75 6e 74 | 2c 20 2a 62 75 66 29 29 |, &count|, *buf))|
|00003220| 20 7c 7c 20 65 72 72 20 | 3d 3d 20 65 6f 66 45 72 | || err |== eofEr|
|00003230| 72 29 0d 09 09 09 65 72 | 72 32 20 3d 20 42 69 6e |r)....er|r2 = Bin|
|00003240| 57 72 69 74 65 28 26 63 | 6f 75 6e 74 2c 20 28 42 |Write(&c|ount, (B|
|00003250| 79 74 65 20 2a 29 2a 62 | 75 66 29 3b 0d 09 7d 20 |yte *)*b|uf);..} |
|00003260| 77 68 69 6c 65 28 21 65 | 72 72 20 26 26 20 21 65 |while(!e|rr && !e|
|00003270| 72 72 32 29 3b 0d 09 44 | 69 73 70 6f 73 65 42 75 |rr2);..D|isposeBu|
|00003280| 66 66 65 72 28 62 75 66 | 2c 20 6d 66 29 3b 0d 09 |ffer(buf|, mf);..|
|00003290| 69 66 20 28 65 72 72 20 | 3d 3d 20 65 6f 66 45 72 |if (err |== eofEr|
|000032a0| 72 29 0d 09 09 65 72 72 | 20 3d 20 30 3b 0d 09 72 |r)...err| = 0;..r|
|000032b0| 65 74 75 72 6e 20 65 72 | 72 20 3f 20 65 72 72 20 |eturn er|r ? err |
|000032c0| 3a 20 65 72 72 32 3b 0d | 7d 0d 0d 76 6f 69 64 20 |: err2;.|}..void |
|000032d0| 45 78 74 72 61 63 74 28 | 76 6f 69 64 29 0d 7b 0d |Extract(|void).{.|
|000032e0| 09 53 46 52 65 70 6c 79 | 20 72 31 2c 20 72 32 3b |.SFReply| r1, r2;|
|000032f0| 0d 09 73 68 6f 72 74 20 | 72 65 66 31 3b 0d 09 42 |..short |ref1;..B|
|00003300| 79 74 65 20 6e 61 6d 65 | 5b 36 34 5d 3b 0d 09 42 |yte name|[64];..B|
|00003310| 79 74 65 20 68 65 61 64 | 65 72 5b 42 69 6e 48 65 |yte head|er[BinHe|
|00003320| 61 64 65 72 4c 65 6e 67 | 74 68 5d 3b 0d 09 6c 6f |aderLeng|th];..lo|
|00003330| 6e 67 20 63 6f 75 6e 74 | 2c 20 64 61 74 61 2c 20 |ng count|, data, |
|00003340| 72 65 73 6f 75 72 63 65 | 3b 0d 09 72 65 67 69 73 |resource|;..regis|
|00003350| 74 65 72 20 73 68 6f 72 | 74 20 65 72 72 2c 20 65 |ter shor|t err, e|
|00003360| 72 72 32 3b 0d 0d 09 4d | 79 53 46 47 65 74 46 69 |rr2;...M|ySFGetFi|
|00003370| 6c 65 28 4d 79 53 74 72 | 69 6e 67 28 53 54 52 5f |le(MyStr|ing(STR_|
|00003380| 47 2c 20 47 5f 45 58 54 | 52 41 43 54 29 2c 20 30 |G, G_EXT|RACT), 0|
|00003390| 2c 20 2d 31 2c 20 30 2c | 20 26 72 31 2c 20 30 29 |, -1, 0,| &r1, 0)|
|000033a0| 3b 0d 09 69 66 20 28 21 | 72 31 2e 67 6f 6f 64 29 |;..if (!|r1.good)|
|000033b0| 0d 09 09 72 65 74 75 72 | 6e 3b 0d 09 52 65 64 72 |...retur|n;..Redr|
|000033c0| 61 77 44 6f 63 75 6d 65 | 6e 74 28 29 3b 0d 0d 09 |awDocume|nt();...|
|000033d0| 69 66 20 28 65 72 72 20 | 3d 20 4f 70 65 6e 46 69 |if (err |= OpenFi|
|000033e0| 6c 65 28 72 31 2e 76 52 | 65 66 4e 75 6d 2c 20 30 |le(r1.vR|efNum, 0|
|000033f0| 2c 20 28 42 79 74 65 20 | 2a 29 72 31 2e 66 4e 61 |, (Byte |*)r1.fNa|
|00003400| 6d 65 2c 20 26 72 65 66 | 31 29 29 0d 09 09 67 6f |me, &ref|1))...go|
|00003410| 74 6f 20 73 6f 72 72 79 | 31 3b 0d 0d 09 63 6f 75 |to sorry|1;...cou|
|00003420| 6e 74 20 3d 20 73 69 7a | 65 6f 66 28 68 65 61 64 |nt = siz|eof(head|
|00003430| 65 72 29 3b 0d 09 69 66 | 20 28 28 65 72 72 20 3d |er);..if| ((err =|
|00003440| 20 46 53 52 65 61 64 28 | 72 65 66 31 2c 20 26 63 | FSRead(|ref1, &c|
|00003450| 6f 75 6e 74 2c 20 68 65 | 61 64 65 72 29 29 20 7c |ount, he|ader)) ||
|00003460| 7c 20 63 6f 75 6e 74 20 | 21 3d 20 73 69 7a 65 6f || count |!= sizeo|
|00003470| 66 28 68 65 61 64 65 72 | 29 29 0d 09 09 67 6f 74 |f(header|))...got|
|00003480| 6f 20 73 6f 72 72 79 3b | 0d 0d 09 69 66 20 28 21 |o sorry;|...if (!|
|00003490| 42 69 6e 43 68 65 63 6b | 48 65 61 64 65 72 28 68 |BinCheck|Header(h|
|000034a0| 65 61 64 65 72 2c 20 6e | 61 6d 65 2c 20 26 64 61 |eader, n|ame, &da|
|000034b0| 74 61 2c 20 26 72 65 73 | 6f 75 72 63 65 29 29 20 |ta, &res|ource)) |
|000034c0| 7b 0d 09 09 65 72 72 20 | 3d 20 31 3b 0d 09 09 67 |{...err |= 1;...g|
|000034d0| 6f 74 6f 20 73 6f 72 72 | 79 3b 0d 09 7d 0d 0d 09 |oto sorr|y;..}...|
|000034e0| 4d 79 53 46 50 75 74 46 | 69 6c 65 28 4d 79 53 74 |MySFPutF|ile(MySt|
|000034f0| 72 69 6e 67 28 53 54 52 | 5f 47 2c 20 47 5f 53 41 |ring(STR|_G, G_SA|
|00003500| 56 45 29 2c 20 4d 79 53 | 74 72 69 6e 67 28 53 54 |VE), MyS|tring(ST|
|00003510| 52 5f 47 2c 20 47 5f 53 | 46 45 58 54 52 41 43 54 |R_G, G_S|FEXTRACT|
|00003520| 29 2c 0d 09 09 6e 61 6d | 65 2c 20 26 72 32 29 3b |),...nam|e, &r2);|
|00003530| 0d 09 69 66 20 28 21 72 | 32 2e 67 6f 6f 64 29 0d |..if (!r|2.good).|
|00003540| 09 09 67 6f 74 6f 20 73 | 6f 72 72 79 3b 0d 09 52 |..goto s|orry;..R|
|00003550| 65 64 72 61 77 44 6f 63 | 75 6d 65 6e 74 28 29 3b |edrawDoc|ument();|
|00003560| 0d 0d 09 44 65 6c 65 74 | 65 46 69 6c 65 28 72 32 |...Delet|eFile(r2|
|00003570| 2e 76 52 65 66 4e 75 6d | 2c 20 30 2c 20 28 42 79 |.vRefNum|, 0, (By|
|00003580| 74 65 20 2a 29 72 32 2e | 66 4e 61 6d 65 29 3b 0d |te *)r2.|fName);.|
|00003590| 09 69 66 20 28 65 72 72 | 20 3d 20 43 72 65 61 74 |.if (err| = Creat|
|000035a0| 65 46 69 6c 65 28 72 32 | 2e 76 52 65 66 4e 75 6d |eFile(r2|.vRefNum|
|000035b0| 2c 20 30 2c 20 28 42 79 | 74 65 20 2a 29 72 32 2e |, 0, (By|te *)r2.|
|000035c0| 66 4e 61 6d 65 2c 20 27 | 3f 3f 3f 3f 27 2c 20 27 |fName, '|????', '|
|000035d0| 3f 3f 3f 3f 27 29 29 0d | 09 09 67 6f 74 6f 20 73 |????')).|..goto s|
|000035e0| 6f 72 72 79 3b 0d 0d 09 | 69 66 20 28 65 72 72 20 |orry;...|if (err |
|000035f0| 3d 20 42 69 6e 4f 70 65 | 6e 57 72 69 74 65 28 72 |= BinOpe|nWrite(r|
|00003600| 32 2e 76 52 65 66 4e 75 | 6d 2c 20 30 2c 20 28 42 |2.vRefNu|m, 0, (B|
|00003610| 79 74 65 20 2a 29 72 32 | 2e 66 4e 61 6d 65 2c 20 |yte *)r2|.fName, |
|00003620| 68 65 61 64 65 72 29 29 | 0d 09 09 67 6f 74 6f 20 |header))|...goto |
|00003630| 73 6f 72 72 79 3b 0d 0d | 09 65 72 72 20 3d 20 43 |sorry;..|.err = C|
|00003640| 6f 70 79 46 69 6c 65 28 | 72 65 66 31 29 3b 0d 09 |opyFile(|ref1);..|
|00003650| 65 72 72 32 20 3d 20 42 | 69 6e 43 6c 6f 73 65 57 |err2 = B|inCloseW|
|00003660| 72 69 74 65 28 29 3b 0d | 09 69 66 20 28 21 65 72 |rite();.|.if (!er|
|00003670| 72 29 0d 09 09 65 72 72 | 20 3d 20 65 72 72 32 3b |r)...err| = err2;|
|00003680| 0d 0d 73 6f 72 72 79 3a | 0d 09 46 53 43 6c 6f 73 |..sorry:|..FSClos|
|00003690| 65 28 72 65 66 31 29 3b | 0d 73 6f 72 72 79 31 3a |e(ref1);|.sorry1:|
|000036a0| 0d 09 69 66 20 28 65 72 | 72 29 0d 09 09 45 72 72 |..if (er|r)...Err|
|000036b0| 6f 72 28 65 72 72 2c 20 | 45 6d 70 74 79 53 74 72 |or(err, |EmptyStr|
|000036c0| 29 3b 0d 7d 0d 0d 2f 2a | 20 2d 2d 2d 2d 2d 20 47 |);.}../*| ----- G|
|000036d0| 65 74 20 74 65 78 74 20 | 66 69 6c 65 20 6e 61 6d |et text |file nam|
|000036e0| 65 20 61 6e 64 20 65 78 | 65 63 75 74 65 20 73 63 |e and ex|ecute sc|
|000036f0| 72 69 70 74 20 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |ript ---|--------|
|00003700| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 20 2a |--------|------ *|
|00003710| 2f 0d 0d 23 64 65 66 69 | 6e 65 20 53 43 52 49 50 |/..#defi|ne SCRIP|
|00003720| 54 53 49 5a 45 09 35 31 | 32 09 09 09 09 2f 2a 20 |TSIZE.51|2..../* |
|00003730| 53 63 72 69 70 74 20 66 | 69 6c 65 20 62 75 66 66 |Script f|ile buff|
|00003740| 65 72 20 73 69 7a 65 20 | 2a 2f 0d 23 64 65 66 69 |er size |*/.#defi|
|00003750| 6e 65 20 53 43 52 49 50 | 54 4d 41 58 09 43 6f 6e |ne SCRIP|TMAX.Con|
|00003760| 66 69 67 2e 73 63 72 69 | 70 74 09 2f 2a 20 4d 65 |fig.scri|pt./* Me|
|00003770| 6d 6f 72 79 20 73 69 7a | 65 20 66 6f 72 20 73 63 |mory siz|e for sc|
|00003780| 72 69 70 74 20 2a 2f 0d | 0d 73 74 61 74 69 63 20 |ript */.|.static |
|00003790| 42 6f 6f 6c 65 61 6e 20 | 53 63 72 69 70 74 28 76 |Boolean |Script(v|
|000037a0| 6f 69 64 29 0d 7b 0d 09 | 72 65 67 69 73 74 65 72 |oid).{..|register|
|000037b0| 20 73 68 6f 72 74 20 65 | 72 72 3b 0d 09 72 65 67 | short e|rr;..reg|
|000037c0| 69 73 74 65 72 20 42 6f | 6f 6c 65 61 6e 20 71 75 |ister Bo|olean qu|
|000037d0| 69 74 20 3d 20 46 41 4c | 53 45 3b 0d 09 4f 70 74 |it = FAL|SE;..Opt|
|000037e0| 69 6f 6e 73 20 73 61 76 | 65 3b 0d 0d 09 53 63 72 |ions sav|e;...Scr|
|000037f0| 69 70 74 42 75 66 66 65 | 72 20 3d 20 30 3b 0d 09 |iptBuffe|r = 0;..|
|00003800| 69 66 20 28 21 28 53 63 | 72 69 70 74 42 75 66 66 |if (!(Sc|riptBuff|
|00003810| 65 72 20 3d 20 28 42 79 | 74 65 20 2a 29 4e 65 77 |er = (By|te *)New|
|00003820| 50 74 72 28 53 43 52 49 | 50 54 53 49 5a 45 20 2b |Ptr(SCRI|PTSIZE +|
|00003830| 20 53 43 52 49 50 54 4d | 41 58 29 29 29 20 7b 0d | SCRIPTM|AX))) {.|
|00003840| 09 09 65 72 72 20 3d 20 | 4d 65 6d 45 72 72 6f 72 |..err = |MemError|
|00003850| 28 29 3b 0d 09 09 67 6f | 74 6f 20 64 6f 6e 65 3b |();...go|to done;|
|00003860| 0d 09 7d 0d 09 53 63 72 | 69 70 74 55 6e 67 65 74 |..}..Scr|iptUnget|
|00003870| 20 3d 20 2d 31 3b 09 09 | 09 2f 2a 20 4e 6f 20 75 | = -1;..|./* No u|
|00003880| 6e 67 65 74 20 63 68 61 | 72 61 63 74 65 72 20 79 |nget cha|racter y|
|00003890| 65 74 20 2a 2f 0d 09 53 | 63 72 69 70 74 4d 61 72 |et */..S|criptMar|
|000038a0| 6b 20 3d 20 53 63 72 69 | 70 74 45 6f 62 20 3d 20 |k = Scri|ptEob = |
|000038b0| 53 43 52 49 50 54 53 49 | 5a 45 3b 09 2f 2a 20 42 |SCRIPTSI|ZE;./* B|
|000038c0| 75 66 66 65 72 20 69 73 | 20 73 74 69 6c 6c 20 65 |uffer is| still e|
|000038d0| 6d 70 74 79 20 2a 2f 0d | 0d 09 73 61 76 65 20 3d |mpty */.|..save =|
|000038e0| 20 53 65 74 74 69 6e 67 | 73 3b 09 09 09 2f 2a 20 | Setting|s;.../* |
|000038f0| 53 61 76 65 20 73 65 74 | 74 69 6e 67 73 20 2a 2f |Save set|tings */|
|00003900| 0d 09 69 66 20 28 73 65 | 74 6a 6d 70 28 65 6e 76 |..if (se|tjmp(env|
|00003910| 29 20 3d 3d 20 30 29 20 | 7b 0d 09 09 53 49 5f 4c |) == 0) |{...SI_L|
|00003920| 6f 61 64 28 49 6e 74 72 | 69 6e 73 69 63 73 2c 20 |oad(Intr|insics, |
|00003930| 53 63 72 69 70 74 42 75 | 66 66 65 72 20 2b 20 53 |ScriptBu|ffer + S|
|00003940| 43 52 49 50 54 53 49 5a | 45 2c 20 53 43 52 49 50 |CRIPTSIZ|E, SCRIP|
|00003950| 54 4d 41 58 29 3b 0d 09 | 09 46 53 43 6c 6f 73 65 |TMAX);..|.FSClose|
|00003960| 28 53 63 72 69 70 74 52 | 65 66 29 3b 09 09 2f 2a |(ScriptR|ef);../*|
|00003970| 20 53 63 72 69 70 74 20 | 66 69 6c 65 20 6e 6f 20 | Script |file no |
|00003980| 6c 6f 6e 67 65 72 20 6e | 65 65 64 65 64 20 2a 2f |longer n|eeded */|
|00003990| 0d 09 09 53 63 72 69 70 | 74 52 65 66 20 3d 20 30 |...Scrip|tRef = 0|
|000039a0| 3b 0d 09 09 65 72 72 20 | 3d 20 53 49 5f 49 6e 74 |;...err |= SI_Int|
|000039b0| 65 72 70 72 65 74 28 29 | 3b 09 2f 2a 20 43 61 6c |erpret()|;./* Cal|
|000039c0| 6c 20 6d 61 69 6e 28 29 | 20 69 6e 20 73 63 72 69 |l main()| in scri|
|000039d0| 70 74 20 2a 2f 0d 09 7d | 20 65 6c 73 65 20 7b 09 |pt */..}| else {.|
|000039e0| 09 09 09 09 2f 2a 20 43 | 6f 6d 65 20 68 65 72 65 |..../* C|ome here|
|000039f0| 20 61 66 74 65 72 20 65 | 72 72 6f 72 20 2a 2f 0d | after e|rror */.|
|00003a00| 09 09 65 72 72 20 3d 20 | 31 3b 09 09 09 09 2f 2a |..err = |1;..../*|
|00003a10| 20 41 6c 77 61 79 73 20 | 72 65 73 74 6f 72 65 20 | Always |restore |
|00003a20| 73 65 74 74 69 6e 67 73 | 20 69 66 20 65 72 72 6f |settings| if erro|
|00003a30| 72 20 2a 2f 0d 09 09 53 | 79 73 42 65 65 70 28 31 |r */...S|ysBeep(1|
|00003a40| 29 3b 0d 09 7d 0d 09 2f | 2a 0d 09 09 54 68 65 20 |);..}../|*...The |
|00003a50| 73 63 72 69 70 74 20 6d | 61 69 6e 28 29 20 63 61 |script m|ain() ca|
|00003a60| 6e 20 72 65 74 75 72 6e | 20 74 68 65 20 66 6f 6c |n return| the fol|
|00003a70| 6c 6f 77 69 6e 67 20 76 | 61 6c 75 65 73 3a 0d 09 |lowing v|alues:..|
|00003a80| 09 09 30 09 3a 20 44 6f | 6e 27 74 20 72 65 73 74 |..0.: Do|n't rest|
|00003a90| 6f 72 65 20 73 61 76 65 | 64 20 73 65 74 74 69 6e |ore save|d settin|
|00003aa0| 67 73 2c 20 63 6f 6e 74 | 69 6e 75 65 20 61 70 70 |gs, cont|inue app|
|00003ab0| 6c 69 63 61 74 69 6f 6e | 0d 09 09 09 31 09 3a 20 |lication|....1.: |
|00003ac0| 52 65 73 74 6f 72 65 20 | 73 61 76 65 64 20 73 65 |Restore |saved se|
|00003ad0| 74 74 69 6e 67 73 2c 20 | 63 6f 6e 74 69 6e 75 65 |ttings, |continue|
|00003ae0| 20 61 70 70 6c 69 63 61 | 74 69 6f 6e 0d 09 09 09 | applica|tion....|
|00003af0| 32 35 36 09 3a 20 44 6f | 6e 27 74 20 72 65 73 74 |256.: Do|n't rest|
|00003b00| 6f 72 65 20 73 61 76 65 | 64 20 73 65 74 74 69 6e |ore save|d settin|
|00003b10| 67 73 2c 20 71 75 69 74 | 20 61 70 70 6c 69 63 61 |gs, quit| applica|
|00003b20| 74 69 6f 6e 0d 09 09 09 | 32 35 37 09 3a 20 52 65 |tion....|257.: Re|
|00003b30| 73 74 6f 72 65 20 73 61 | 76 65 64 20 73 65 74 74 |store sa|ved sett|
|00003b40| 69 6e 67 73 2c 20 71 75 | 69 74 20 61 70 70 6c 69 |ings, qu|it appli|
|00003b50| 63 61 74 69 6f 6e 0d 09 | 2a 2f 0d 09 69 66 20 28 |cation..|*/..if (|
|00003b60| 65 72 72 20 3d 3d 20 31 | 20 7c 7c 20 65 72 72 20 |err == 1| || err |
|00003b70| 3d 3d 20 32 35 37 29 20 | 7b 09 2f 2a 20 52 65 73 |== 257) |{./* Res|
|00003b80| 74 6f 72 65 20 73 65 74 | 74 69 6e 67 73 20 2a 2f |tore set|tings */|
|00003b90| 0d 09 09 69 66 20 28 73 | 61 76 65 2e 70 6f 72 74 |...if (s|ave.port|
|00003ba0| 53 65 74 75 70 20 21 3d | 20 53 65 74 74 69 6e 67 |Setup !=| Setting|
|00003bb0| 73 2e 70 6f 72 74 53 65 | 74 75 70 20 7c 7c 0d 09 |s.portSe|tup ||..|
|00003bc0| 09 09 09 21 45 71 75 61 | 6c 53 74 72 69 6e 67 28 |...!Equa|lString(|
|00003bd0| 73 61 76 65 2e 70 6f 72 | 74 4e 61 6d 65 2c 20 53 |save.por|tName, S|
|00003be0| 65 74 74 69 6e 67 73 2e | 70 6f 72 74 4e 61 6d 65 |ettings.|portName|
|00003bf0| 2c 20 46 41 4c 53 45 2c | 20 54 52 55 45 29 20 7c |, FALSE,| TRUE) ||
|00003c00| 7c 0d 09 09 09 09 73 61 | 76 65 2e 68 61 6e 64 73 ||.....sa|ve.hands|
|00003c10| 68 61 6b 65 20 21 3d 20 | 53 65 74 74 69 6e 67 73 |hake != |Settings|
|00003c20| 2e 68 61 6e 64 73 68 61 | 6b 65 29 20 7b 0d 09 09 |.handsha|ke) {...|
|00003c30| 09 53 65 72 69 61 6c 43 | 6c 6f 73 65 28 29 3b 0d |.SerialC|lose();.|
|00003c40| 09 09 09 53 65 72 69 61 | 6c 4f 70 65 6e 28 73 61 |...Seria|lOpen(sa|
|00003c50| 76 65 2e 70 6f 72 74 4e | 61 6d 65 2c 20 73 61 76 |ve.portN|ame, sav|
|00003c60| 65 2e 70 6f 72 74 53 65 | 74 75 70 2c 20 73 61 76 |e.portSe|tup, sav|
|00003c70| 65 2e 68 61 6e 64 73 68 | 61 6b 65 29 3b 0d 09 09 |e.handsh|ake);...|
|00003c80| 7d 0d 09 09 53 65 74 74 | 69 6e 67 73 20 3d 20 73 |}...Sett|ings = s|
|00003c90| 61 76 65 3b 0d 09 7d 0d | 09 69 66 20 28 65 72 72 |ave;..}.|.if (err|
|00003ca0| 20 3d 3d 20 32 35 36 20 | 7c 7c 20 65 72 72 20 3d | == 256 ||| err =|
|00003cb0| 3d 20 32 35 37 29 09 2f | 2a 20 51 75 69 74 20 61 |= 257)./|* Quit a|
|00003cc0| 70 70 6c 69 63 61 74 69 | 6f 6e 20 2a 2f 0d 09 09 |pplicati|on */...|
|00003cd0| 71 75 69 74 20 3d 20 54 | 52 55 45 3b 0d 09 65 72 |quit = T|RUE;..er|
|00003ce0| 72 20 3d 20 6e 6f 45 72 | 72 3b 0d 0d 64 6f 6e 65 |r = noEr|r;..done|
|00003cf0| 3a 0d 09 69 66 20 28 53 | 63 72 69 70 74 42 75 66 |:..if (S|criptBuf|
|00003d00| 66 65 72 29 0d 09 09 44 | 69 73 70 6f 73 50 74 72 |fer)...D|isposPtr|
|00003d10| 28 28 50 74 72 29 53 63 | 72 69 70 74 42 75 66 66 |((Ptr)Sc|riptBuff|
|00003d20| 65 72 29 3b 0d 09 69 66 | 20 28 53 63 72 69 70 74 |er);..if| (Script|
|00003d30| 52 65 66 29 0d 09 09 46 | 53 43 6c 6f 73 65 28 53 |Ref)...F|SClose(S|
|00003d40| 63 72 69 70 74 52 65 66 | 29 3b 0d 09 69 66 20 28 |criptRef|);..if (|
|00003d50| 65 72 72 29 20 7b 0d 09 | 09 53 79 73 42 65 65 70 |err) {..|.SysBeep|
|00003d60| 28 31 29 3b 0d 09 09 45 | 72 72 6f 72 28 65 72 72 |(1);...E|rror(err|
|00003d70| 2c 20 45 6d 70 74 79 53 | 74 72 29 3b 0d 09 7d 0d |, EmptyS|tr);..}.|
|00003d80| 09 72 65 74 75 72 6e 20 | 71 75 69 74 3b 0d 7d 0d |.return |quit;.}.|
|00003d90| 0d 73 74 61 74 69 63 20 | 42 6f 6f 6c 65 61 6e 20 |.static |Boolean |
|00003da0| 53 63 72 69 70 74 46 6c | 61 67 20 3d 20 30 3b 0d |ScriptFl|ag = 0;.|
|00003db0| 0d 42 6f 6f 6c 65 61 6e | 20 52 75 6e 53 63 72 69 |.Boolean| RunScri|
|00003dc0| 70 74 28 0d 09 73 68 6f | 72 74 20 76 6f 6c 75 6d |pt(..sho|rt volum|
|00003dd0| 65 2c 0d 09 6c 6f 6e 67 | 20 64 69 72 65 63 74 6f |e,..long| directo|
|00003de0| 72 79 2c 0d 09 42 79 74 | 65 20 2a 6e 61 6d 65 2c |ry,..Byt|e *name,|
|00003df0| 0d 09 73 68 6f 72 74 20 | 69 74 65 6d 29 0d 7b 0d |..short |item).{.|
|00003e00| 09 72 65 67 69 73 74 65 | 72 20 73 68 6f 72 74 20 |.registe|r short |
|00003e10| 65 72 72 3b 0d 09 72 65 | 67 69 73 74 65 72 20 42 |err;..re|gister B|
|00003e20| 79 74 65 20 2a 6e 3b 0d | 09 72 65 67 69 73 74 65 |yte *n;.|.registe|
|00003e30| 72 20 42 6f 6f 6c 65 61 | 6e 20 71 75 69 74 20 3d |r Boolea|n quit =|
|00003e40| 20 46 41 4c 53 45 3b 0d | 09 53 46 52 65 70 6c 79 | FALSE;.|.SFReply|
|00003e50| 20 73 66 72 3b 0d 0d 09 | 69 66 20 28 54 72 61 6e | sfr;...|if (Tran|
|00003e60| 73 66 65 72 29 20 7b 0d | 09 09 53 79 73 42 65 65 |sfer) {.|..SysBee|
|00003e70| 70 28 31 29 3b 0d 09 09 | 72 65 74 75 72 6e 20 71 |p(1);...|return q|
|00003e80| 75 69 74 3b 0d 09 7d 0d | 09 69 66 20 28 53 63 72 |uit;..}.|.if (Scr|
|00003e90| 69 70 74 46 6c 61 67 29 | 20 7b 09 09 2f 2a 20 43 |iptFlag)| {../* C|
|00003ea0| 61 6e 63 65 6c 20 73 63 | 72 69 70 74 20 2a 2f 0d |ancel sc|ript */.|
|00003eb0| 09 09 41 62 6f 72 74 20 | 3d 20 54 52 55 45 3b 0d |..Abort |= TRUE;.|
|00003ec0| 09 09 53 65 6e 64 69 6e | 67 20 3d 20 46 41 4c 53 |..Sendin|g = FALS|
|00003ed0| 45 3b 0d 09 09 53 65 72 | 69 61 6c 41 62 6f 72 74 |E;...Ser|ialAbort|
|00003ee0| 28 29 3b 0d 09 7d 20 65 | 6c 73 65 20 7b 09 09 09 |();..} e|lse {...|
|00003ef0| 09 2f 2a 20 45 78 65 63 | 75 74 65 20 73 63 72 69 |./* Exec|ute scri|
|00003f00| 70 74 20 66 69 6c 65 20 | 2a 2f 0d 09 09 69 66 20 |pt file |*/...if |
|00003f10| 28 6e 61 6d 65 29 0d 09 | 09 09 65 72 72 20 3d 20 |(name)..|..err = |
|00003f20| 4f 70 65 6e 46 69 6c 65 | 28 76 6f 6c 75 6d 65 2c |OpenFile|(volume,|
|00003f30| 20 64 69 72 65 63 74 6f | 72 79 2c 20 6e 20 3d 20 | directo|ry, n = |
|00003f40| 6e 61 6d 65 2c 20 26 53 | 63 72 69 70 74 52 65 66 |name, &S|criptRef|
|00003f50| 29 3b 0d 09 09 65 6c 73 | 65 20 7b 0d 09 09 09 4d |);...els|e {....M|
|00003f60| 79 53 46 47 65 74 46 69 | 6c 65 28 4d 79 53 74 72 |ySFGetFi|le(MyStr|
|00003f70| 69 6e 67 28 53 54 52 5f | 47 2c 47 5f 53 43 52 49 |ing(STR_|G,G_SCRI|
|00003f80| 50 54 29 2c 0d 09 09 09 | 09 4d 79 53 74 72 69 6e |PT),....|.MyStrin|
|00003f90| 67 28 53 54 52 5f 47 2c | 47 5f 53 55 46 46 49 58 |g(STR_G,|G_SUFFIX|
|00003fa0| 29 2c 0d 09 09 09 09 31 | 2c 20 26 54 45 58 54 2c |),.....1|, &TEXT,|
|00003fb0| 20 26 73 66 72 2c 20 30 | 29 3b 0d 09 09 09 52 65 | &sfr, 0|);....Re|
|00003fc0| 64 72 61 77 44 6f 63 75 | 6d 65 6e 74 28 29 3b 0d |drawDocu|ment();.|
|00003fd0| 09 09 09 69 66 20 28 21 | 73 66 72 2e 67 6f 6f 64 |...if (!|sfr.good|
|00003fe0| 29 0d 09 09 09 09 72 65 | 74 75 72 6e 20 71 75 69 |).....re|turn qui|
|00003ff0| 74 3b 0d 09 09 09 65 72 | 72 20 3d 20 4f 70 65 6e |t;....er|r = Open|
|00004000| 46 69 6c 65 28 73 66 72 | 2e 76 52 65 66 4e 75 6d |File(sfr|.vRefNum|
|00004010| 2c 20 30 2c 20 6e 20 3d | 20 28 42 79 74 65 20 2a |, 0, n =| (Byte *|
|00004020| 29 73 66 72 2e 66 4e 61 | 6d 65 2c 0d 09 09 09 09 |)sfr.fNa|me,.....|
|00004030| 26 53 63 72 69 70 74 52 | 65 66 29 3b 0d 09 09 7d |&ScriptR|ef);...}|
|00004040| 0d 09 09 69 66 20 28 65 | 72 72 29 20 7b 0d 09 09 |...if (e|rr) {...|
|00004050| 09 45 72 72 6f 72 28 65 | 72 72 2c 20 45 6d 70 74 |.Error(e|rr, Empt|
|00004060| 79 53 74 72 29 3b 0d 09 | 09 09 72 65 74 75 72 6e |yStr);..|..return|
|00004070| 20 71 75 69 74 3b 0d 09 | 09 7d 0d 09 09 41 62 6f | quit;..|.}...Abo|
|00004080| 72 74 20 3d 20 46 41 4c | 53 45 3b 0d 09 09 53 63 |rt = FAL|SE;...Sc|
|00004090| 72 69 70 74 46 6c 61 67 | 20 3d 20 69 74 65 6d 3b |riptFlag| = item;|
|000040a0| 0d 09 09 53 65 74 57 54 | 69 74 6c 65 28 28 57 69 |...SetWT|itle((Wi|
|000040b0| 6e 64 6f 77 50 74 72 29 | 54 65 72 6d 69 6e 61 6c |ndowPtr)|Terminal|
|000040c0| 57 69 6e 64 6f 77 2c 20 | 6e 29 3b 0d 09 09 53 65 |Window, |n);...Se|
|000040d0| 74 49 74 65 6d 53 74 79 | 6c 65 28 47 65 74 4d 65 |tItemSty|le(GetMe|
|000040e0| 6e 75 28 53 43 52 49 50 | 54 29 2c 20 69 74 65 6d |nu(SCRIP|T), item|
|000040f0| 2c 20 41 43 54 49 56 45 | 29 3b 0d 09 09 71 75 69 |, ACTIVE|);...qui|
|00004100| 74 20 3d 20 53 63 72 69 | 70 74 28 29 3b 0d 09 09 |t = Scri|pt();...|
|00004110| 53 65 74 49 74 65 6d 53 | 74 79 6c 65 28 47 65 74 |SetItemS|tyle(Get|
|00004120| 4d 65 6e 75 28 53 43 52 | 49 50 54 29 2c 20 69 74 |Menu(SCR|IPT), it|
|00004130| 65 6d 2c 20 30 29 3b 0d | 09 09 41 62 6f 72 74 20 |em, 0);.|..Abort |
|00004140| 3d 20 54 52 55 45 3b 0d | 09 09 53 63 72 69 70 74 |= TRUE;.|..Script|
|00004150| 46 6c 61 67 20 3d 20 30 | 3b 0d 09 7d 0d 09 72 65 |Flag = 0|;..}..re|
|00004160| 74 75 72 6e 20 71 75 69 | 74 3b 0d 7d 0d 0d 42 6f |turn qui|t;.}..Bo|
|00004170| 6f 6c 65 61 6e 20 44 6f | 4d 65 6e 75 53 63 72 69 |olean Do|MenuScri|
|00004180| 70 74 28 72 65 67 69 73 | 74 65 72 20 73 68 6f 72 |pt(regis|ter shor|
|00004190| 74 20 69 74 65 6d 29 0d | 7b 0d 09 72 65 67 69 73 |t item).|{..regis|
|000041a0| 74 65 72 20 42 79 74 65 | 20 6e 61 6d 65 5b 32 35 |ter Byte| name[25|
|000041b0| 36 5d 3b 0d 0d 09 47 65 | 74 49 74 65 6d 28 47 65 |6];...Ge|tItem(Ge|
|000041c0| 74 4d 65 6e 75 28 53 43 | 52 49 50 54 29 2c 20 69 |tMenu(SC|RIPT), i|
|000041d0| 74 65 6d 2c 20 6e 61 6d | 65 29 3b 0d 09 41 70 70 |tem, nam|e);..App|
|000041e0| 65 6e 64 28 6e 61 6d 65 | 2c 20 4d 79 53 74 72 69 |end(name|, MyStri|
|000041f0| 6e 67 28 53 54 52 5f 47 | 2c 20 47 5f 53 55 46 46 |ng(STR_G|, G_SUFF|
|00004200| 49 58 29 29 3b 0d 09 72 | 65 74 75 72 6e 20 52 75 |IX));..r|eturn Ru|
|00004210| 6e 53 63 72 69 70 74 28 | 53 65 74 74 69 6e 67 73 |nScript(|Settings|
|00004220| 2e 73 63 72 69 70 74 56 | 6f 6c 75 6d 65 2c 20 53 |.scriptV|olume, S|
|00004230| 65 74 74 69 6e 67 73 2e | 73 63 72 69 70 74 44 69 |ettings.|scriptDi|
|00004240| 72 65 63 74 6f 72 79 2c | 20 6e 61 6d 65 2c 20 69 |rectory,| name, i|
|00004250| 74 65 6d 29 3b 0d 7d 0d | 0d 2f 2a 20 2d 2d 2d 2d |tem);.}.|./* ----|
|00004260| 2d 20 46 75 6e 63 74 69 | 6f 6e 73 20 63 61 6c 6c |- Functi|ons call|
|00004270| 65 64 20 62 79 20 69 6e | 74 65 72 70 72 65 74 65 |ed by in|terprete|
|00004280| 72 20 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |r ------|--------|
|00004290| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000042a0| 2d 20 2a 2f 0d 0d 76 6f | 69 64 20 53 49 5f 45 72 |- */..vo|id SI_Er|
|000042b0| 72 6f 72 28 0d 09 72 65 | 67 69 73 74 65 72 20 73 |ror(..re|gister s|
|000042c0| 68 6f 72 74 20 65 72 6e | 6f 2c 0d 09 72 65 67 69 |hort ern|o,..regi|
|000042d0| 73 74 65 72 20 42 79 74 | 65 20 2a 73 2c 0d 09 72 |ster Byt|e *s,..r|
|000042e0| 65 67 69 73 74 65 72 20 | 73 68 6f 72 74 20 6c 69 |egister |short li|
|000042f0| 6e 65 29 0d 7b 0d 09 72 | 65 67 69 73 74 65 72 20 |ne).{..r|egister |
|00004300| 42 79 74 65 20 6d 65 73 | 73 61 67 65 5b 32 35 36 |Byte mes|sage[256|
|00004310| 5d 3b 0d 0d 09 65 72 6e | 6f 20 2b 3d 20 32 3b 0d |];...ern|o += 2;.|
|00004320| 09 69 66 20 28 2a 73 29 | 20 7b 0d 09 09 43 74 6f |.if (*s)| {...Cto|
|00004330| 50 73 74 72 28 28 63 68 | 61 72 20 2a 29 73 29 3b |Pstr((ch|ar *)s);|
|00004340| 0d 09 09 46 6f 72 6d 61 | 74 53 74 72 28 6d 65 73 |...Forma|tStr(mes|
|00004350| 73 61 67 65 2c 4d 79 53 | 74 72 69 6e 67 28 53 54 |sage,MyS|tring(ST|
|00004360| 52 5f 53 2c 31 29 2c 73 | 2c 4d 79 53 74 72 69 6e |R_S,1),s|,MyStrin|
|00004370| 67 28 53 54 52 5f 53 2c | 65 72 6e 6f 29 2c 6c 69 |g(STR_S,|erno),li|
|00004380| 6e 65 29 3b 0d 09 09 50 | 74 6f 43 73 74 72 28 28 |ne);...P|toCstr((|
|00004390| 42 79 74 65 20 2a 29 73 | 29 3b 0d 09 7d 20 65 6c |Byte *)s|);..} el|
|000043a0| 73 65 0d 09 09 46 6f 72 | 6d 61 74 53 74 72 28 6d |se...For|matStr(m|
|000043b0| 65 73 73 61 67 65 2c 4d | 79 53 74 72 69 6e 67 28 |essage,M|yString(|
|000043c0| 53 54 52 5f 53 2c 32 29 | 2c 4d 79 53 74 72 69 6e |STR_S,2)|,MyStrin|
|000043d0| 67 28 53 54 52 5f 53 2c | 65 72 6e 6f 29 2c 6c 69 |g(STR_S,|erno),li|
|000043e0| 6e 65 29 3b 0d 09 4d 61 | 6b 65 4d 65 73 73 61 67 |ne);..Ma|keMessag|
|000043f0| 65 28 54 65 72 6d 69 6e | 61 6c 57 69 6e 64 6f 77 |e(Termin|alWindow|
|00004400| 2c 20 6d 65 73 73 61 67 | 65 29 3b 0d 09 6c 6f 6e |, messag|e);..lon|
|00004410| 67 6a 6d 70 28 65 6e 76 | 2c 20 30 29 3b 09 2f 2a |gjmp(env|, 0);./*|
|00004420| 20 52 65 74 75 72 6e 20 | 74 6f 20 53 63 72 69 70 | Return |to Scrip|
|00004430| 74 28 29 2c 20 69 67 6e | 6f 72 65 20 6c 69 6e 6b |t(), ign|ore link|
|00004440| 20 63 68 61 69 6e 20 2a | 2f 0d 7d 0d 0d 73 68 6f | chain *|/.}..sho|
|00004450| 72 74 20 53 49 5f 47 65 | 74 53 6f 75 72 63 65 28 |rt SI_Ge|tSource(|
|00004460| 76 6f 69 64 29 0d 7b 0d | 09 72 65 67 69 73 74 65 |void).{.|.registe|
|00004470| 72 20 42 79 74 65 20 63 | 3b 0d 0d 09 69 66 20 28 |r Byte c|;...if (|
|00004480| 53 63 72 69 70 74 55 6e | 67 65 74 20 3e 3d 20 30 |ScriptUn|get >= 0|
|00004490| 29 20 7b 09 09 09 2f 2a | 20 54 68 65 20 77 61 73 |) {.../*| The was|
|000044a0| 20 61 20 70 72 65 76 69 | 6f 75 73 20 75 6e 67 65 | a previ|ous unge|
|000044b0| 74 20 2a 2f 0d 09 09 63 | 20 3d 20 53 63 72 69 70 |t */...c| = Scrip|
|000044c0| 74 55 6e 67 65 74 3b 09 | 09 09 2f 2a 20 53 6f 20 |tUnget;.|../* So |
|000044d0| 75 73 65 20 74 68 65 20 | 75 6e 67 65 74 20 62 75 |use the |unget bu|
|000044e0| 66 66 65 72 20 2a 2f 0d | 09 09 53 63 72 69 70 74 |ffer */.|..Script|
|000044f0| 55 6e 67 65 74 20 3d 20 | 2d 31 3b 09 09 09 2f 2a |Unget = |-1;.../*|
|00004500| 20 55 6e 67 65 74 20 62 | 75 66 66 65 72 20 69 73 | Unget b|uffer is|
|00004510| 20 65 6d 70 74 79 20 6e | 6f 77 20 2a 2f 0d 09 09 | empty n|ow */...|
|00004520| 72 65 74 75 72 6e 20 63 | 3b 0d 09 7d 0d 09 69 66 |return c|;..}..if|
|00004530| 20 28 53 63 72 69 70 74 | 4d 61 72 6b 20 3c 20 53 | (Script|Mark < S|
|00004540| 63 72 69 70 74 45 6f 62 | 29 09 09 2f 2a 20 43 61 |criptEob|)../* Ca|
|00004550| 6e 20 73 74 69 6c 6c 20 | 75 73 65 20 62 75 66 66 |n still |use buff|
|00004560| 65 72 20 2a 2f 0d 09 09 | 72 65 74 75 72 6e 20 53 |er */...|return S|
|00004570| 63 72 69 70 74 42 75 66 | 66 65 72 5b 53 63 72 69 |criptBuf|fer[Scri|
|00004580| 70 74 4d 61 72 6b 2b 2b | 5d 3b 0d 09 69 66 20 28 |ptMark++|];..if (|
|00004590| 53 63 72 69 70 74 45 6f | 62 20 3c 20 53 43 52 49 |ScriptEo|b < SCRI|
|000045a0| 50 54 53 49 5a 45 29 09 | 09 2f 2a 20 57 61 73 20 |PTSIZE).|./* Was |
|000045b0| 6c 61 73 74 20 28 70 61 | 72 74 69 61 6c 29 20 62 |last (pa|rtial) b|
|000045c0| 75 66 66 65 72 20 2a 2f | 0d 09 09 72 65 74 75 72 |uffer */|...retur|
|000045d0| 6e 20 2d 31 3b 09 09 09 | 09 09 2f 2a 20 45 4f 46 |n -1;...|../* EOF|
|000045e0| 20 2a 2f 0d 09 53 63 72 | 69 70 74 45 6f 62 20 3d | */..Scr|iptEob =|
|000045f0| 20 53 43 52 49 50 54 53 | 49 5a 45 3b 09 09 09 2f | SCRIPTS|IZE;.../|
|00004600| 2a 20 52 65 61 64 20 6e | 65 78 74 20 62 75 66 66 |* Read n|ext buff|
|00004610| 65 72 20 66 72 6f 6d 20 | 66 69 6c 65 20 2a 2f 0d |er from |file */.|
|00004620| 09 46 53 52 65 61 64 28 | 53 63 72 69 70 74 52 65 |.FSRead(|ScriptRe|
|00004630| 66 2c 20 26 53 63 72 69 | 70 74 45 6f 62 2c 20 53 |f, &Scri|ptEob, S|
|00004640| 63 72 69 70 74 42 75 66 | 66 65 72 29 3b 0d 09 69 |criptBuf|fer);..i|
|00004650| 66 20 28 53 63 72 69 70 | 74 45 6f 62 20 3e 20 30 |f (Scrip|tEob > 0|
|00004660| 29 20 7b 09 09 09 2f 2a | 20 4f 6b 2c 20 61 74 20 |) {.../*| Ok, at |
|00004670| 6c 65 61 73 74 20 6f 6e | 65 20 63 68 61 72 61 63 |least on|e charac|
|00004680| 74 65 72 20 2a 2f 0d 09 | 09 53 63 72 69 70 74 4d |ter */..|.ScriptM|
|00004690| 61 72 6b 20 3d 20 30 3b | 0d 09 09 72 65 74 75 72 |ark = 0;|...retur|
|000046a0| 6e 20 53 49 5f 47 65 74 | 53 6f 75 72 63 65 28 29 |n SI_Get|Source()|
|000046b0| 3b 0d 09 7d 0d 09 72 65 | 74 75 72 6e 20 2d 31 3b |;..}..re|turn -1;|
|000046c0| 09 09 09 09 09 09 2f 2a | 20 45 72 72 6f 72 20 6f |....../*| Error o|
|000046d0| 72 20 65 6e 64 20 6f 66 | 20 66 69 6c 65 20 2a 2f |r end of| file */|
|000046e0| 0d 7d 0d 0d 76 6f 69 64 | 20 53 49 5f 55 6e 67 65 |.}..void| SI_Unge|
|000046f0| 74 53 6f 75 72 63 65 28 | 72 65 67 69 73 74 65 72 |tSource(|register|
|00004700| 20 73 68 6f 72 74 20 63 | 29 0d 7b 0d 09 53 63 72 | short c|).{..Scr|
|00004710| 69 70 74 55 6e 67 65 74 | 20 3d 20 63 3b 09 09 09 |iptUnget| = c;...|
|00004720| 09 2f 2a 20 54 68 61 74 | 27 73 20 65 61 73 79 20 |./* That|'s easy |
|00004730| 2a 2f 0d 7d 0d 0d 2f 2a | 20 2d 2d 2d 2d 2d 20 4b |*/.}../*| ----- K|
|00004740| 69 73 73 20 73 63 72 69 | 70 74 20 66 69 6c 65 20 |iss scri|pt file |
|00004750| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004760| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004770| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 20 2a |--------|------ *|
|00004780| 2f 0d 0d 76 6f 69 64 20 | 4b 69 73 73 28 73 68 6f |/..void |Kiss(sho|
|00004790| 72 74 20 6f 70 74 69 6f | 6e 73 29 0d 7b 0d 09 53 |rt optio|ns).{..S|
|000047a0| 46 52 65 70 6c 79 20 72 | 3b 0d 09 50 61 72 61 6d |FReply r|;..Param|
|000047b0| 42 6c 6f 63 6b 52 65 63 | 20 70 3b 0d 09 72 65 67 |BlockRec| p;..reg|
|000047c0| 69 73 74 65 72 20 4f 53 | 54 79 70 65 20 63 72 65 |ister OS|Type cre|
|000047d0| 61 74 6f 72 3b 0d 0d 09 | 63 72 65 61 74 6f 72 20 |ator;...|creator |
|000047e0| 3d 20 28 6f 70 74 69 6f | 6e 73 20 26 20 28 6f 70 |= (optio|ns & (op|
|000047f0| 74 69 6f 6e 4b 65 79 20 | 7c 20 63 6d 64 4b 65 79 |tionKey || cmdKey|
|00004800| 20 7c 20 73 68 69 66 74 | 4b 65 79 20 7c 20 63 6f | | shift|Key | co|
|00004810| 6e 74 72 6f 6c 4b 65 79 | 29 29 20 3f 0d 09 09 53 |ntrolKey|)) ?...S|
|00004820| 65 74 74 69 6e 67 73 2e | 74 65 78 74 43 72 65 61 |ettings.|textCrea|
|00004830| 74 6f 72 20 3a 20 41 70 | 70 6c 69 63 61 74 69 6f |tor : Ap|plicatio|
|00004840| 6e 2e 73 69 67 6e 61 74 | 75 72 65 3b 0d 09 64 6f |n.signat|ure;..do|
|00004850| 20 7b 0d 09 09 4d 79 53 | 46 47 65 74 46 69 6c 65 | {...MyS|FGetFile|
|00004860| 28 4d 79 53 74 72 69 6e | 67 28 53 54 52 5f 47 2c |(MyStrin|g(STR_G,|
|00004870| 47 5f 4b 49 53 53 29 2c | 20 4d 79 53 74 72 69 6e |G_KISS),| MyStrin|
|00004880| 67 28 53 54 52 5f 47 2c | 47 5f 53 55 46 46 49 58 |g(STR_G,|G_SUFFIX|
|00004890| 29 2c 0d 09 09 09 31 2c | 20 26 54 45 58 54 2c 20 |),....1,| &TEXT, |
|000048a0| 26 72 2c 20 63 72 65 61 | 74 6f 72 29 3b 0d 09 09 |&r, crea|tor);...|
|000048b0| 69 66 20 28 72 2e 67 6f | 6f 64 29 20 7b 0d 09 09 |if (r.go|od) {...|
|000048c0| 09 6d 65 6d 73 65 74 28 | 26 70 2c 20 30 2c 20 73 |.memset(|&p, 0, s|
|000048d0| 69 7a 65 6f 66 28 70 29 | 29 3b 0d 09 09 09 70 2e |izeof(p)|);....p.|
|000048e0| 66 69 6c 65 50 61 72 61 | 6d 2e 69 6f 4e 61 6d 65 |filePara|m.ioName|
|000048f0| 50 74 72 20 3d 20 72 2e | 66 4e 61 6d 65 3b 0d 09 |Ptr = r.|fName;..|
|00004900| 09 09 70 2e 66 69 6c 65 | 50 61 72 61 6d 2e 69 6f |..p.file|Param.io|
|00004910| 56 52 65 66 4e 75 6d 20 | 3d 20 72 2e 76 52 65 66 |VRefNum |= r.vRef|
|00004920| 4e 75 6d 3b 0d 09 09 09 | 69 66 20 28 21 50 42 47 |Num;....|if (!PBG|
|00004930| 65 74 46 49 6e 66 6f 28 | 26 70 2c 20 46 41 4c 53 |etFInfo(|&p, FALS|
|00004940| 45 29 29 20 7b 0d 09 09 | 09 09 70 2e 66 69 6c 65 |E)) {...|..p.file|
|00004950| 50 61 72 61 6d 2e 69 6f | 46 6c 46 6e 64 72 49 6e |Param.io|FlFndrIn|
|00004960| 66 6f 2e 66 64 43 72 65 | 61 74 6f 72 20 3d 20 63 |fo.fdCre|ator = c|
|00004970| 72 65 61 74 6f 72 3b 0d | 09 09 09 09 50 42 53 65 |reator;.|....PBSe|
|00004980| 74 46 49 6e 66 6f 28 26 | 70 2c 20 46 41 4c 53 45 |tFInfo(&|p, FALSE|
|00004990| 29 3b 0d 09 09 09 7d 0d | 09 09 7d 0d 09 7d 20 77 |);....}.|..}..} w|
|000049a0| 68 69 6c 65 20 28 46 41 | 4c 53 45 20 2f 2a 20 72 |hile (FA|LSE /* r|
|000049b0| 2e 67 6f 6f 64 20 2a 2f | 29 3b 0d 7d 0d 00 00 00 |.good */|);.}....|
|000049c0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000049d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000049e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000049f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00004a00| 00 00 01 00 00 00 02 7e | 00 00 01 7e 00 00 00 32 |.......~|...~...2|
|00004a10| 7d 0d 09 09 69 66 20 28 | 6e 20 3e 20 30 20 26 26 |}...if (|n > 0 &&|
|00004a20| 20 28 65 72 72 20 3d 20 | 53 65 6e 64 50 61 63 6b | (err = |SendPack|
|00004a30| 06 46 69 6c 65 2e 63 da | 02 00 00 00 50 61 72 74 |.File.c.|....Part|
|00004a40| 53 49 54 78 00 00 00 00 | 00 00 00 00 00 01 18 bb |SITx....|........|
|00004a50| 00 00 50 61 72 74 53 49 | 54 78 00 00 00 00 00 00 |..PartSI|Tx......|
|00004a60| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00004a70| 00 00 a7 d3 7e 06 00 00 | 00 00 00 00 02 b0 66 6f |....~...|......fo|
|00004a80| 72 6d 20 68 6f 73 74 20 | 74 68 61 74 20 74 68 65 |rm host |that the|
|00004a90| 20 66 69 6c 65 20 77 61 | 73 20 73 65 6e 74 20 2a | file wa|s sent *|
|00004aa0| 2f 0d 0d 09 70 20 3d 20 | 53 41 42 75 66 5b 46 69 |/...p = |SABuf[Fi|
|00004ab0| 6c 6c 53 41 5d 2e 62 75 | 66 3b 0d 09 70 5b 30 5d |llSA].bu|f;..p[0]|
|00004ac0| 20 3d 20 27 54 27 3b 0d | 09 70 5b 31 5d 20 3d 20 | = 'T';.|.p[1] = |
|00004ad0| 27 43 27 3b 0d 09 69 66 | 20 28 65 72 72 20 3d 20 |'C';..if| (err = |
|00004ae0| 53 65 6e 64 50 61 63 6b | 65 74 28 32 29 29 0d 09 |SendPack|et(2))..|
|00004af0| 09 72 65 74 75 72 6e 20 | 65 72 72 3b 0d 09 72 65 |.return |err;..re|
|00004b00| 00 00 01 7a 00 14 00 00 | 03 d7 00 00 03 e2 0b 54 |...z....|.......T|
|00004b10| 65 78 74 43 61 70 74 75 | 72 65 00 00 09 62 00 00 |extCaptu|re...b..|
|00004b20| 09 6d 0b 42 79 74 65 43 | 61 70 74 75 72 65 00 00 |.m.ByteC|apture..|
|00004b30| 0b 2e 00 00 0b 38 0b 53 | 61 76 65 42 75 66 66 65 |.....8.S|aveBuffe|
|00004b40| 72 00 00 00 11 6f 00 00 | 11 7b 0d 53 65 6e 64 54 |r....o..|.{.SendT|
|00004b50| 65 78 74 46 69 6c 65 00 | 00 00 19 c2 00 00 19 ca |extFile.|........|
|00004b60| 09 53 65 6e 64 54 65 78 | 74 00 00 00 1b cd 00 00 |.SendTex|t.......|
|00004b70| 1b d5 09 54 79 70 65 54 | 65 78 74 00 00 00 23 68 |...TypeT|ext...#h|
|00004b80| 00 00 23 71 09 53 65 6e | 64 53 63 72 61 70 00 00 |..#q.Sen|dScrap..|
|00004b90| 25 55 00 00 25 60 0b 46 | 69 6c 65 52 65 63 65 69 |%U..%`.F|ileRecei|
|00004ba0| 76 65 00 00 28 31 00 00 | 28 3d 0d 46 69 6c 65 54 |ve..(1..|(=.FileT|
|00004bb0| 72 61 6e 73 6d 69 74 00 | 00 00 2a 64 00 00 2a 6b |ransmit.|..*d..*k|
|00004bc0| 07 43 6f 6e 76 65 72 74 | 00 00 2d 91 00 00 2d 95 |.Convert|..-...-.|
|00004bd0| 05 4d 61 6b 65 00 00 00 | 30 73 00 00 30 7b 09 43 |.Make...|0s..0{.C|
|00004be0| 6f 70 79 46 69 6c 65 00 | 00 00 32 50 00 00 32 57 |opyFile.|..2P..2W|
|00004bf0| 07 45 78 74 72 61 63 74 | 00 00 37 18 00 00 37 1e |.Extract|..7...7.|
|00004c00| 07 53 63 72 69 70 74 00 | 00 00 3d 39 00 00 3d 42 |.Script.|..=9..=B|
|00004c10| 09 52 75 6e 53 63 72 69 | 70 74 00 00 40 f6 00 00 |.RunScri|pt..@...|
|00004c20| 41 02 0d 44 6f 4d 65 6e | 75 53 63 72 69 70 74 00 |A..DoMen|uScript.|
|00004c30| 00 00 42 2b 00 00 42 33 | 09 53 49 5f 45 72 72 6f |..B+..B3|.SI_Erro|
|00004c40| 72 00 00 00 43 d3 00 00 | 43 df 0d 53 49 5f 47 65 |r...C...|C..SI_Ge|
|00004c50| 74 53 6f 75 72 63 65 00 | 00 00 46 69 00 00 46 77 |tSource.|..Fi..Fw|
|00004c60| 0f 53 49 5f 55 6e 67 65 | 74 53 6f 75 72 63 65 00 |.SI_Unge|tSource.|
|00004c70| 00 00 47 08 00 00 47 0c | 05 4b 69 73 73 00 00 00 |..G...G.|.Kiss...|
|00004c80| 01 00 00 00 02 7e 00 00 | 01 7e 00 00 00 32 00 6e |.....~..|.~...2.n|
|00004c90| 83 a8 07 5a 00 00 00 1c | 00 32 00 00 4d 50 53 52 |...Z....|.2..MPSR|
|00004ca0| 00 00 00 0a 03 ef ff ff | 00 00 00 00 00 6e b3 ec |........|.....n..|
|00004cb0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00004cc0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00004cd0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00004ce0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00004cf0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
+--------+-------------------------+-------------------------+--------+--------+